PDO エラー抽出: 総合ガイド
強力な PHP クラスである PDO は、効率的なデータベース対話を提供します。ただし、PDO からエラー情報を抽出するのが難しい場合があります。問題とその解決策を詳しく見てみましょう。
問題:
ATTR_ERRMODE を ERRMODE_WARNING に設定しているにもかかわらず、無効なクエリ (@$%T$! !!)が用意されています。 print_r() ステートメントも errorInfo() もフィードバックを提供しません。
解決策:
setAttribute は、準備ではなくクエリ実行中にエラー動作を設定します。エミュレートされた準備済みステートメントの場合、準備にはサーバー通信が含まれないため、実行するまでエラーは検出されません。ただし、MySQL ドライバーはネイティブのプリペアド ステートメントをサポートしているため、準備中にエラーが発生します。
エラー処理を確実にするには、次のコードを使用します。
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
ERRMODE_EXCEPTION を使用すると、PDO は強制的に例外をスローします。無効なクエリの場合。この例外には、必要なエラー メッセージが含まれます。
追加メモ:
以上がPHP のデータベース インタラクションから PDO エラー情報を効果的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。