(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::errorInfo — Obtiene información extendida del error asociado con la última operación del manejador de la base de datos
PDO::errorInfo() devuelve un array con la información del error sobre la última operación realizada por el manejador de la base de datos. El array contiene los siguientes campos:
| Element | Information | 
|---|---|
| 0 | Código de error SQLSTATE (un identificador de cinco caracteres alfanuméricos definidos según el estándar ANSI SQL). | 
| 1 | Código de error específico del driver. | 
| 2 | Mensaje del error específico del driver. | 
Nota:
Si el código de error SQLSTATE no está definido o no hay un error específico del driver, los elementos siguientes al 0 estarán establecidos como
NULL.
PDO::errorInfo() sólo devuelve información de error para operaciones realizadas directamente sobre el manejador de la base de datos. Si se crea un objeto PDOStatement con PDO::prepare() o PDO::query() y se eleva un error sobre el manejador de la sentencia, PDO::errorInfo() no reflejará el error desde el manejador de la sentencia. Se deberá llamar a PDOStatement::errorInfo() para devolver la información del error para una operación realizada sobre un manejador de sentencia concreto.
Ejemplo #1 Muestra los campos de errorInfo() para una conexión PDO_ODBC a una base de datos DB2
<?php
/* Provoca un error -- sintaxis SQL falsa */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>
El resultado del ejemplo sería:
PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)