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

【PHP8.x】PDOException::codeプロパティの使い方

codeプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

codeプロパティは、PHPのPDO(PHP Data Objects)拡張機能が提供するPDOExceptionクラスに属し、データベース操作中に発生したエラーに関するコードを保持するプロパティです。

PDOExceptionクラスは、データベースへの接続失敗、SQLクエリの実行エラー、トランザクションの失敗など、PDOを通じてデータベースとやり取りする際に問題が発生した場合にスローされる例外です。この例外が発生した際、codeプロパティには、発生したエラーの種類を示す特定のコードが格納されます。

具体的には、このプロパティが保持する値は、主にSQLSTATEと呼ばれる5文字の英数字からなる標準的なエラーコード(例: '23000' は一般的に整合性制約違反を示します)か、あるいは使用している特定のデータベースシステム(MySQL, PostgreSQLなど)が返すネイティブなエラーコードのいずれかです。これにより、どのような状況でエラーが発生したのかを詳細に把握することができます。

このcodeプロパティは、アプリケーションがデータベースエラーにどのように対処すべきかを決定する上で非常に重要です。例えば、特定のSQLSTATEコードを検出して、ユーザーに対してより分かりやすいエラーメッセージを表示したり、エラーの種類に応じて異なる回復処理を実行したりするなどの、堅牢なエラーハンドリングロジックを実装するために利用されます。システムエンジニアを目指す方々にとって、データベースエラーの原因を特定し、適切な対策を講じるための重要な手がかりとなる情報源です。

構文(syntax)

1<?php
2
3try {
4    // 存在しないデータベース名でPDO接続を試みる
5    $pdo = new PDO('mysql:host=localhost;dbname=non_existent_database_name', 'username', 'password');
6} catch (PDOException $e) {
7    // 捕捉したPDOExceptionオブジェクトから 'code' プロパティにアクセスする
8    echo $e->code;
9}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

PDOExceptionクラスのcodeプロパティは、SQLSTATEエラーコードを整数型で返します。

関連コンテンツ