ホームページ > バックエンド開発 > PHPチュートリアル > PHP で PDO Prepare() クエリ エラーを取得するにはどうすればよいですか?

PHP で PDO Prepare() クエリ エラーを取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-06 22:40:12
オリジナル
173 人が閲覧しました

How Can I Retrieve PDO Prepare() Query Errors in PHP?

PDO PHP の prepare() からクエリ エラーを取得する

PDO PHP を使用してクエリを準備する場合、潜在的なエラーをチェックすることが重要ですエラー。デフォルトでは、PDO はクエリの準備中に発生したエラーに対して例外をスローしません。エラー処理を有効にするには、PDO::ATTR_ERRMODE 属性を利用できます。

解決策

  • PDO::ATTR_ERRMODE を PDO::ERRMODE_EXCEPTION に設定します。 : この属性を設定すると、prepare() は次の場合に例外をスローします。エラーが発生します。
  • PDO::ATTR_EMULATE_PREPARES: を無効にする MySQL サーバーが prepare() 中にクエリを処理できるようにするには、この属性を無効にします。エミュレーションにより、クエリが実行されるまでサーバーがエラーを検出できないことがあります。

例:

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'localonly', 'localonly');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->prepare('INSERT INTO DoesNotExist (x) VALUES (?)');
ログイン後にコピー

指定されたクエリに無効な構文が含まれている場合、PDO は以下の情報は例外です:

SQLSTATE[42S02]: Base table or view not found: 
1146 Table 'test.doesnotexist' doesn't exist
ログイン後にコピー

以上がPHP で PDO Prepare() クエリ エラーを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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