ホームページ >バックエンド開発 >PHPチュートリアル >PDO エラー メッセージが空になるのはなぜですか?

PDO エラー メッセージが空になるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-18 19:55:12774ブラウズ

Why Are My PDO Error Messages Empty?

PDO からのエラー メッセージの抽出

PDO 例外からエラー メッセージを取得しようとすると、空の結果が表示されてイライラすることがあります。この質問は、根本的な問題を掘り下げ、この問題の解決策を提供します。

エラー モードを警告に設定しているにもかかわらず、PDO ステートメントとそのエラー情報は空の配列を返します。この問題は、setAttribute がステートメントの準備中ではなく、クエリ実行中の PDO の動作に影響を与えるという事実に起因します。

エミュレートされた準備済みステートメントの場合、prepare() 関数はデータベース サーバーと対話しないため、何も行われません。エラーチェック。ただし、MySQL バージョン 4.1 以降でサポートされているネイティブのプリペアド ステートメントを使用する場合、エラー モードを例外に設定すると、クエリの実行時に例外がトリガーされる必要があります。

これを実現するには、次のコードを使用します。

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

ネイティブのプリペアド ステートメントに切り替えてエラー モードを正しく設定すると、PDO 例外から有益なエラー メッセージを取得できるようになります。

以上がPDO エラー メッセージが空になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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