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

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

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

作成日: 更新日:

基本的な使い方

PDO::ERRMODE_SILENT定数は、PHPのPDO(PHP Data Objects)拡張機能において、データベース操作時のエラー処理モードの一つを表す定数です。この定数は、PDOインスタンスがSQLクエリの実行などでエラーを検出した場合の挙動を定義するために使用されます。

このモードが設定されている場合、データベースでエラーが発生しても、PDOは自動的に例外(Exception)をスローしたり、PHPの警告(Warning)を出力したりすることはありません。エラーが発生したとしても、何も通知せずに処理を継続します。そのため、開発者はエラーの発生有無を明示的に確認する必要があります。

エラーの確認は、主にPDOStatementオブジェクトまたはPDOオブジェクトが提供するerrorCode()メソッドやerrorInfo()メソッドを呼び出すことで行います。これらのメソッドは、直前のデータベース操作で発生したエラーに関する情報(エラーコードや詳細メッセージなど)を返しますので、その戻り値をチェックしてエラーがあったかどうかを判断し、適切な処理を行う必要があります。

PDO::ERRMODE_SILENTは、アプリケーションが独自のエラーハンドリングロジックを実装している場合や、エラー発生時のパフォーマンスオーバーヘッドを最小限に抑えたい場合に選択されることがあります。しかし、エラーを自動的に通知しないため、エラーが見過ごされるリスクがあります。そのため、特にシステムエンジニアを目指す初心者の方には、エラー発生時に例外をスローするPDO::ERRMODE_EXCEPTIONモードの方が、エラーを検出しやすく、堅牢なアプリケーション開発に役立つため、一般的には推奨されています。このモードは、PDO::setAttribute()メソッドを用いて設定します。

構文(syntax)

1<?php
2$pdo = new PDO(
3    'mysql:host=localhost;dbname=testdb',
4    'username',
5    'password',
6    [PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT]
7);
8?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ