(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::errorCode — Devuelve el SQLSTATE asociado con la última operación sobre la base de datos
Esta función no tiene parámetros.
PDO::errorCode() devuelve un SQLSTATE, un identificador alfanumérico de cinco caracteres definido en el estándar ANSI SQL. Brevemente, un SQLSTATE consiste en un valor de clase de dos caracteres seguido por un valor de subclase de tres caracteres. Un valor de clase de 01 indica una alerta y es acompañado por un código de retorno SQL_SUCCESS_WITH_INFO. Los valores de clases distintos a '01', a excepción de la clase 'IM', indican un error. La clase 'IM' es específica para alertas y errores que provienen de la implementación misma de PDO (o quizás ODBC, si se utiliza el driver ODBC). El valor de subclase '000' en cualquier clase, indica que no hay subclase para este SQLSTATE.
PDO::errorCode() devuelve únicamente los códigos de error para operaciones ejecutadas directamente sobre el manejador de la 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::errorCode() no devolverá este error. Se debe llamar PDOStatement::errorCode() para devolver el código de error para una operación ejecutada sobre un manejador de consulta particular.
Devuelve null
si ninguna operación ha sido ejecutada sobre la base de datos.
Ejemplo #1 Obtenció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(): ", $dbh->errorCode();
?>
El resultado del ejemplo sería:
PDO::errorCode(): 42S02