©
本文档使用 PHP中文网手册 发布
(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDOStatement::errorInfo — 获取跟上一次语句句柄操作相关的扩展错误信息
PDOStatement::errorInfo() 返回一个关于上一次语句句柄执行操作的错误信息的数组 。该数组包含下列字段:
Element | Information |
---|---|
0 | SQLSTATE 错误码(一个由5个字母或数字组成的在 ANSI SQL 标准中定义的标识符)。 |
1 | 具体驱动错误码。 |
2 | 具体驱动错误信息。 |
Example #1 显示连接到DB2数据库的 PDO_ODBC 连接的 errorInfo() 的字段
<?php
$sth = $dbh -> prepare ( 'SELECT skull FROM bones' );
$sth -> execute ();
echo "\nPDOStatement::errorInfo():\n" ;
$arr = $sth -> errorInfo ();
print_r ( $arr );
?>
以上例程会输出:
PDOStatement::errorInfo(): Array ( [0] => 42S02 [1] => -204 [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N "DANIELS.BONES" is an undefined name. SQLSTATE=42704 )
[#1] Geoffrey Hoffman [2015-07-22 16:45:10]
If your query is successful, PDO::errorInfo() still returns an array. For MySQL 5.x, I get the following...
Array
(
[0] => 00000
[1] =>
[2] =>
)
[#2] Deuchnord [2015-06-11 08:48:09]
Sorry, my example below is not correct, this is a correction:
<?php
$listOfUsers = $db->query('SELECT name from uesrs');
$errorInfo = $listOfUsers->errorInfo();
if($errorInfo[0] != 0)
die($errorInfo[2]);
?>