ホームページ >データベース >mysql チュートリアル >PHP で PDO プリペアドステートメントから SQL エラーを取得する方法

PHP で PDO プリペアドステートメントから SQL エラーを取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-15 20:47:17837ブラウズ

How to Retrieve SQL Errors from PDO Prepared Statements in PHP?

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 サイトの他の関連記事を参照してください。

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