PDOStatement::errorInfo
Извлекает расширенные сведения об ошибке для последней операции с дескриптором инструкции.
Синтаксис
array PDOStatement::errorInfo();
Возвращаемое значение
Массив сведений об ошибке для последней операции с дескриптором инструкции. Этот массив состоит из следующих полей:
Код ошибки SQLSTATE.
Код ошибки, относящийся к драйверу.
Сообщение об ошибке, относящееся к драйверу.
Если ошибка отсутствует или не задан SQLSTATE, поля, относящиеся к драйверу, будут иметь значение NULL.
Замечания
Добавлена поддержка PDO версии 2.0 драйверов Майкрософт для PHP для SQL Server.
Пример
В этом примере инструкция SQL содержит ошибку, о которой затем сообщается.
<?php
$conn = new PDO( "sqlsrv:server=(local) ; Database = AdventureWorks", "", "");
$stmt = $conn->prepare('SELECT * FROM Person.Addressx');
$stmt->execute();
print_r ($stmt->errorInfo());
?>
Дополнительные сообщения ODBC
При возникновении исключения драйвер ODBC может вернуть несколько ошибок, которые помогают в диагностике проблем. Однако PDOStatement::errorInfo всегда выдает только первую ошибку. В ответ на этот отчет об ошибке функции PDO::errorInfo и PDOStatement::errorInfo были обновлены: теперь драйверы должны выводить по крайней мере следующие три поля:
0 SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 Driver specific error code.
2 Driver specific error message.
Начиная с версии 5.9.0 функция PDOStatement::errorInfo по умолчанию выводит дополнительные ошибки ODBC при их наличии. Дополнительные сведения см. в разделе, посвященном PDO::errorInfo.