(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::errorInfo — Devuelve las informaciones asociadas al error durante la última operación sobre la base de datos
Esta función no tiene parámetros.
PDO::errorInfo() devuelve un array que contiene informaciones sobre el error ocurrido durante la última operación ejecutada por este manejador de base de datos. El array contiene los siguientes campos:
Elemento | Información |
---|---|
0 | Código de error SQLSTATE (un identificador alfanumérico de cinco caracteres definido en el estándar ANSI SQL). |
1 | Código de error específico del driver. |
2 | Mensaje de error específico del driver. |
Nota:
Si el código de error SQLSTATE no está definido o si no hay un error específico del driver, el elemento siguiente al elemento 0 será definido a
null
.
PDO::errorInfo() devuelve únicamente las informaciones de los errores para las operaciones ejecutadas directamente sobre un manejador de base de datos. Si se crea un objeto PDOStatement con la función PDO::prepare() o la función PDO::query() y se invoca un error sobre el manejador de consulta, PDO::errorInfo() no devolverá el error desde el manejador de consulta. Se debe llamar a la función PDOStatement::errorInfo() para devolver las informaciones sobre el error para una operación ejecutada sobre un manejador de consulta particular.
Ejemplo #1 Muestra los campos de errores para una conexión PDO_ODBC sobre una base de datos DB2
<?php
/* Provoca un error -- sintaxis SQL incorrecta */
$stmt = $dbh->prepare('mauvaise syntaxe sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
?>
El resultado del ejemplo sería:
PDO::errorInfo(): Array ( [0] => 42S02 [1] => -204 [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N "DANIELS.BONES" is an undefined name. SQLSTATE=42704 )