私はMySQLでビューを作成するためのSQLコードを作成しました。ローカルまたはコンピュータ上のこのコードは正しく動作しますが、リモートサーバー上で実行すると機能しません。PHPコードでphpmyadminデータベースのビューを作成しますか?
私はこのコードをコピーして、サーバー上のPhpMyadminのSQLの場所にそれを動作させ、問題なく貼り付けます。私はコードのセクションを変更せず、phpから、phpmyadminでコピーしただけです。
サーバーのWebページで動作しないこのPHPトランザクションの後ろには何が起こっていますか?
私の意見の完全な一部:
$conn2 = new mysqli($servername, $username, $password,$dbname);
$view_baz1maz1="CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ SQL SECURITY
DEFINER VIEW `baz1amz1` as select `regvezarat`.`bazemp`.`PrsID` AS `PrsID`,
`regvezarat`.`bazemp`.`Name` AS `Name`,`regvezarat`.`bazemp`.`Family` AS `Family`,
,`regvezarat`.`bazemp`.`AccID` AS `AccID` from `regvezarat`.`bazemp`
union select
`regvezarat`.`infemp`.`PrsID` AS `PrsID`,`regvezarat`.`infemp`.`Name` AS `Name`,
`regvezarat`.`infemp`.`Family` AS `Family`,`regvezarat`.`infemp`.`FtName` AS `FtName`,
regvezarat`.`infemp`.`NumID` AS `NumID`,`regvezarat`.`infemp`.`AccID` AS `AccID` from
`regvezarat`.`infemp`;";
if(mysqli_query($conn2,$view_baz1maz1))
{
$num_win+=1;
}
else
{
mysqli_error($conn2);
$num_fail+=1;
echo "baz1amz1".'<br>';
}
だから私は、何らかのエラーが発生した場合、他のブロックが実行され、baz1amz1で表彰は私のためのガイドのためのページに表示期待しています。私はこのビューが実行されると思いますが、DBでコミットされていないと思われます。おそらくトランザクションは問題なく実行され、最終的にはDBでコミットしたい、PHPからMySQLに十分な特権がありません。 このコードを間違いなくエラーなくローカルで実行します。
可能な場合は?
サーバーのphpmyadminなど、サーバーとコンピュータの機能が異なります特権オプションメニューバーでは、私のDBのサーバーのユーザーを作成するとき、私は驚くべきですので、ビューを作成するなどの権限を設定するための多くのオプションがあります –
あなたのコードは "maiaandi"や "bazemp"、おそらくテーブル名のようなフィールドをどこかに持っていますリモートサーバーで作成したデータベースに同じテーブルとフィールドがありますか? –
私も、ありがとう、@ jeff、私の質問のスペル。 –