(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 )