Получает расширенную информацию об ошибке, произошедшей в ходе последнего обращения к базе данных


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

PDO::errorInfo Получает расширенную информацию об ошибке, произошедшей в ходе последнего обращения к базе данных

Описание

public array PDO::errorInfo ( void )

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

PDO::errorInfo() возвращает массив с информацией об ошибке произошедшей в ходе выполнения последней операции с базой данных. Массив содержит следующие поля:

Элемент Информация
0 Код ошибки SQLSTATE (пятисимвольный идентификатор определенный в стандарте ANSI SQL).
1 Код ошибки, заданный драйвером.
2 Выданное драйвером сообщение об ошибке.

Замечание:

Если не задан SQLSTATE код или драйвер не сообщил об ошибке, то элементы следующие за нулевым будут иметь значение NULL.

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

Примеры

Пример #1 Вывод полей массива errorInfo() для PDO_ODBC подключения к базе данных DB2

<?php
/* Спровоцируем синтаксическую ошибку SQL */
$stmt $dbh->prepare('bogus sql');
if (!
$stmt) {
    echo 
"\nPDO::errorInfo():\n";
    
print_r($dbh->errorInfo());
}
?>

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

 PDO::errorInfo(): Array (     [0] => HY000     [1] => 1     [2] => near "bogus": syntax error ) 

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

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