PDO を使用した Out パラメーターを使用したストアド プロシージャの呼び出し
この質問では、PHP で PDO を使用して出力パラメーターを使用してストアド プロシージャを呼び出しようとしたときに発生した問題について説明します。エラー メッセージ「SQLSTATE[42000]: 構文エラーまたはアクセス違反: ルーチン mydb.proc_OUT の 1414 OUT または INOUT 引数 1 は、BEFORE トリガーの変数または NEW 疑似変数ではありません」が表示されます。
これを解決するにはこの問題が発生した場合は、次の手順が推奨されます。
$dbh->query("CALL SomeStoredProcedure($someInParameter1, $someInParameter2, @someOutParameter)"); $dbh->query("SELECT @someOutParameter");
$stmt = $dbh->prepare("CALL SomeStoredProcedure(?, ?)"); $stmt ->execute(array($someInParameter1, $someInParameter2));
これらのソリューションを実装すると、ストアド プロシージャの出力パラメーターに関連するエラーが解決されます。
以上がPDO でストアド プロシージャを呼び出すときに発生する「OUT または INOUT 引数 ... は変数ではありません」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。