ホームページ > データベース > mysql チュートリアル > 既知のバグが発生した場合に PDO を使用して出力パラメーターを指定してストアド プロシージャを呼び出す方法

既知のバグが発生した場合に PDO を使用して出力パラメーターを指定してストアド プロシージャを呼び出す方法

Linda Hamilton
リリース: 2024-11-07 15:53:03
オリジナル
779 人が閲覧しました

How to Call Stored Procedures with Output Parameters Using PDO When Encountering a Known Bug?

PDO を使用した出力パラメーターを使用したスト​​アド プロシージャの呼び出し

PDO を使用して出力パラメーターを使用してストアド プロシージャを実行しようとする場合は、次の点を考慮することが重要です。既知のバグ。このバグは、MySQL から直接呼び出された場合にプロシージャが期待どおりに動作しているにもかかわらず、次のエラーを引き起こす可能性があります:

"SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1414 OUT または INOUT argument 1 forルーチン mydb.proc_OUT BEFORE トリガーの変数または NEW 疑似変数ではありません。

この問題を解決するには、次の方法を使用してストアド プロシージャを実行することをお勧めします:

  1. Callストアド プロシージャと出力パラメータの選択:
$dbh->query("CALL SomeStoredProcedure($someInParameter1, $someInParameter2, @someOutParameter)");
$dbh->query("SELECT @someOutParameter");
ログイン後にコピー
  1. ステートメントの準備と出力パラメータの選択:
$stmt = $dbh->prepare("CALL SomeStoredProcedure(?, ?)");
$stmt->execute(array($someInParameter1, $someInParameter2));
ログイン後にコピー

このアプローチに従うことで、前述のバグが存在する場合でも、PDO を使用して出力パラメーターを指定してストアド プロシージャを効果的に呼び出すことができます。

以上が既知のバグが発生した場合に PDO を使用して出力パラメーターを指定してストアド プロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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