(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDO::errorCode — Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos
Devuelve un SQLSTATE, un identificador de cinco caracteres definidos en el estándar ANSI SQL-92. Brevemente, un SQLSTATE está formado por dos caracteres con el valor de la clase seguidos por tres caracteres con el valor de la subclase. Un valor de clase de 01 indica un aviso y se encuentra acompañado por un código de retorno de SQL_SUCCESS_WITH_INFO. Valores de clase distintos del '01', excepto la clase 'IM', indican un error. La clase 'IM' es específica para avisos y errores que derivan de la implementación del PDO (o quizás ODBC, si se está usando el driver ODBC) por sí mismo. El valor de subclase '000' en cualquier clase indica que no hay subclases para ese SQLSTATE.
PDO::errorCode() sólo devuelve códigos de error en operaciones realizadas directamente sobre el manejador de la base de datos. Si se crea un objeto PDOStatement con PDO::prepare() o PDO::query() y éstas provocan un error en el manejador de la sentencia, PDO::errorCode() no reflejará ese error. Se debe llamar a PDOStatement::errorCode() para devolver el código de error para una operación realizada por un manejador de sentencia particular.
Devuelve NULL
si no se ha ejecutado ninguna operación en el manejador de la base de datos.
Ejemplo #1 Recuperación de un código SQLSTATE
<?php
/* Provoca un error -- la tabla BONES no existe */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");
echo "\nPDO::errorCode(): ";
print $dbh->errorCode();
?>
El resultado del ejemplo sería:
PDO::errorCode(): 42S02