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

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

WBOY
リリース: 2016-06-20 12:36:43
オリジナル
1139 人が閲覧しました

最初の方法:
$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 を使用してください

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート