PDO->errorInfo()

(no version information, might be only in CVS)

PDO->errorInfo() --  データベースハンドラにおける直近の操作に関連する拡張エラー情報を取得する

説明

class PDO {

array errorInfo ( void )

}

返り値

PDO->errorInfo() は、 このデータベースハンドラによって実行された直近の操作に関するエラー情報を 配列として返します。この配列は次のフィールドを含みます。

要素情報
0SQLSTATE エラーコード (これは、ANSI SQL 標準で定義された英数 5 文字の ID)
1ドライバ固有のエラーコード
2ドライバ固有のエラーメッセージ

PDO->errorInfo() はデータベースハンドラに 直接行った操作に対するエラーコードのみを取得します。 もし PDO->prepare()PDO->query() を通して PDOStatement オブジェクトを生成し、 文でエラーが発生した場合、PDO->errorInfo() はそのエラーを反映しません。 特定の文ハンドラに対して実行された操作についてのエラーコードを返すには PDOStatement->errorInfo() をコールしなければなりません。

例 1. DB2 データベースに対する PDO_ODBC 接続の errorInfo() フィールドを表示する

<?php
/* エラーを発生させる -- 無効な SQL シンタックス */
$stmt = $dbh->prepare('bogus sql');
if (!
$stmt) {
  echo
"\nPDO::errorInfo():\n";
  
print_r($dbh->errorInfo());
}
?>

上の例の出力は以下となります。

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

参考

PDO->errorCode()
PDOStatement->errorCode()
PDOStatement->errorInfo()