PDO->errorInfo()
PDO->errorInfo() — データベースハンドラにおける直近の操作に関連する拡張エラー情報を取得する
説明
class PDO {array errorInfo ( void )
}
返り値
PDO->errorInfo() は、 このデータベースハンドラによって実行された直近の操作に関するエラー情報を 配列として返します。この配列は次のフィールドを含みます。要素 | 情報 |
---|---|
0 | SQLSTATE エラーコード (これは、ANSI SQL 標準で定義された英数 5 文字の ID) |
1 | ドライバ固有のエラーコード |
2 | ドライバ固有のエラーメッセージ |
PDO->errorInfo() はデータベースハンドラに 直接行った操作に対するエラーコードのみを取得します。 もし PDO->prepare() や PDO->query() を通して PDOStatement オブジェクトを生成し、 文でエラーが発生した場合、PDO->errorInfo() はそのエラーを反映しません。 特定の文ハンドラに対して実行された操作についてのエラーコードを返すには PDOStatement->errorInfo() をコールしなければなりません。
例
例 1653. DB2 データベースに対する PDO_ODBC 接続の errorInfo() フィールドを表示する
<?php
/* エラーを発生させる -- BONES テーブルは存在しない */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();
echo "\nPDO::errorInfo():\n";
print_r($err->errorInfo());
?>
上の例の出力は以下となります。PDO::errorInfo(): Array ( [0] => 42S02 [1] => -204 [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N "DANIELS.BONES" is an undefined name. SQLSTATE=42704 )
参考
PDO->errorCode() |
PDOStatement->errorCode() |
PDOStatement->errorInfo() |
- PDO->errorInfoのページへのリンク