Возвращает код SQLSTATE результата последней операции с базой данных


(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorCode Возвращает код SQLSTATE результата последней операции с базой данных

Описание

public mixed PDO::errorCode ( void )

Возвращаемые значения

Возвращает SQLSTATE - пятисимвольный идентификатор, определенный в стандарте ANSI SQL-92. Первые два символа SQLSTATE отвечают за класс ошибки, а следующие три определяют ее подкласс. Класс ошибок 01 означает предупреждение, которому сопутствует возвращаемый код SQL_SUCCESS_WITH_INFO. Классы отличные от 01, за исключением 'IM', означают ошибки выполнения запросов к базе данных. Класс 'IM' свидетельствует об ошибках и предупреждениях, которые вызваны самой реализацией PDO (или, возможно, ODBC, если используется ODBC драйвер). Значение подкласса '000' в любом классе означает, что подкласс для этого SQLSTATE отсутствует.

PDO::errorCode() выдает код ошибки только для операций совершаемых с базой данных напрямую из PDO. Если создать объект PDOStatement методами PDO::prepare() или PDO::query(), и вызвать ошибку его методами, PDO::errorCode() эту ошибку не отобразит. В таких случаях нужно пользоваться собственными методами получения кодов ошибок объекта PDOStatement PDOStatement::errorCode().

Возвращает NULL, если никаких операций над базой данных средствами PDO объекта не производилось.

Примеры

Пример #1 Получение кода SQLSTATE

<?php
/* Спровоцируем ошибку -- таблицы BONES не существует */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo 
"\nPDO::errorCode(): "$dbh->errorCode();
?>

Результат выполнения данного примера:

 PDO::errorCode(): 42S02 

Смотрите также

  • PDO::errorInfo() - Получает расширенную информацию об ошибке, произошедшей в ходе последнего обращения к базе данных
  • PDOStatement::errorCode() - Определяет SQLSTATE код соответствующий последней операции объекта PDOStatement
  • PDOStatement::errorInfo() - Получение расширенной информации об ошибке, произошедшей в результате работы объекта PDOStatement