Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】PDO::ATTR_ERRMODE定数の使い方

ATTR_ERRMODE定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

ATTR_ERRMODE定数は、PHPのデータベースアクセス抽象化レイヤーであるPDOにおけるエラー処理モードを表す定数です。この定数は、データベース操作中に発生したエラーをPDOがどのように扱うかを指定するために用いられます。

通常、PDOクラスのインスタンスを生成した後、PDO::setAttribute()メソッドを使用してこの定数を設定します。例えば、$pdo->setAttribute(PDO::ATTR_ERRMODE, 設定したいエラーモード定数);のように記述することで、エラーの挙動を制御できます。

設定可能な主なエラーモードには、以下の三種類があります。

  1. PDO::ERRMODE_SILENT: これはPDOのデフォルトモードです。エラーが発生してもPDOは特に何もせず、開発者が明示的にPDO::errorCode()PDO::errorInfo()メソッドを呼び出してエラー情報を取得する必要があります。エラーの見落としにつながりやすいため、積極的に選択することは稀です。
  2. PDO::ERRMODE_WARNING: エラーが発生した場合、PHPの警告(E_WARNING)が発行されます。スクリプトの実行は継続されますが、開発中にエラー発生箇所を特定しやすくなります。
  3. PDO::ERRMODE_EXCEPTION: このモードは最も推奨されるエラー処理モードです。データベース操作でエラーが発生すると、PDOExceptionオブジェクトがスローされます。これにより、try-catchブロックを利用した堅牢な例外処理を実装でき、エラー発生時にアプリケーションが適切に対応できるようになります。

適切なエラーモードを選択することは、データベースを利用するアプリケーションの信頼性と安定性を高める上で非常に重要です。特に本番環境では、予期せぬデータベースエラーに対処できるよう、PDO::ERRMODE_EXCEPTIONを設定して例外処理によるエラーハンドリングを行うことが強く推奨されます。

構文(syntax)

1$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
2$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ