PHP 7.0.6 Released

PDOStatement::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::errorInfo Fetch extended error information associated with the last operation on the statement handle

Description

public array PDOStatement::errorInfo ( void )

Return Values

PDOStatement::errorInfo() returns an array of error information about the last operation performed by this statement handle. The array consists of the following fields:

Element Information
0 SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 Driver specific error code.
2 Driver specific error message.

Examples

Example #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- the BONES table does not exist */
$sth $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo 
"\nPDOStatement::errorInfo():\n";
$arr $sth->errorInfo();
print_r($arr);
?>

The above example will output:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

See Also

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle

User Contributed Notes

Geoffrey Hoffman
9 months ago
If your query is successful, PDO::errorInfo() still returns an array. For MySQL 5.x, I get the following...

Array
(
    [0] => 00000
    [1] =>
    [2] =>
)
Deuchnord
10 months ago
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]);
?>
To Top