ホームページ  >  記事  >  バックエンド開発  >  PHP mysql_query() がストアド プロシージャの実行時にエラーを報告する

PHP mysql_query() がストアド プロシージャの実行時にエラーを報告する

WBOY
WBOYオリジナル
2016-06-20 12:36:431124ブラウズ

最初の方法:
$data = mysql_query("CALL DB.Query('11','S')");
if(!$data){
dump(mysql_error( ); );
}
このクエリ方法は通常のものであり、問​​題ありません。

2 番目の方法:
$data = mysql_query("SET @A = '11',@B='S'; CALL DB.Query(@A,@B);"); 🎜>if(!$data){
dump(mysql_error());
}
これはエラーを報告します
「SQL 構文にエラーがあります。対応するマニュアルを確認してください」 'CALL bi.gm_queryRoleLoginLogOutLog(@A,@B); ' 行 1 付近で使用する適切な構文については、MySQL サーバーのバージョンを確認してください。

理由を知りたいだけです。面倒です


ディスカッションへの返信 (解決策)

SET @A = '11',@ B='S'; これは、ストアド プロシージャでの記述方法です。

mysql_query では、単純な SQL ステートメントを記述します。

@tata8181

兄弟、これは、ストアド プロシージャを呼び出すときの記述方法です。 SQL を記述するストアド プロシージャは問題ありません

mysql_query は一度に 1 つのコマンドしか実行できません

代わりに mysqli_multi_query を使用してください

モデレーターのおかげです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。