PDO::errorInfo

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

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

Описание

public PDO::errorInfo ( void ) : array

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

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

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

Замечание:

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

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

Примеры

Пример #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