PDO での SQL エラーの取得/Prepare in PHP
prepare() メソッド、以下に従ってくださいこれらの手順:
1.エラー モード属性を設定します
setAttribute() メソッドを使用してエラー モード属性を PDO::ERRMODE_EXCEPTION に設定し、例外処理を有効にします。これにより、エラーが発生した場合に準備メソッドが例外をスローします:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
2.エミュレーションを無効にする
PDO::ATTR_EMULATE_PREPARES を false に設定して無効にします。これが必要なのは、MySQL サーバーがプリペアド ステートメントを実行するまで評価しないため、エラーの検出が困難になるためです。$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
例:
次のコードは、プリペアド ステートメントを実行します。クエリ「SELECT * FROM c6ode」は、テーブル c6ode がそうでない場合に例外をスローします。存在します:try { $st = $db->prepare("SELECT * FROM c6ode"); } catch (PDOException $e) { // Handle the exception and display the error message }
例外出力:
上記のコードを (c6ode が存在しない状態で) 実行すると、テーブルが存在しないことを示す例外メッセージが出力されます:以上がPHP で PDO プリペアドステートメントから SQL エラーを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。