Spec-Zone .ru
спецификации, руководства, описания, API

22.8.7.67. mysql_sqlstate()

const char *mysql_sqlstate(MYSQL *mysql)

Описание

Возвращает завершенную нулем строку, содержащую код ошибки SQLSTATE для последний раз выполняемого SQL-оператора. Код ошибки состоит из пяти символов. '00000' не означает "ошибки." Значения определяются ANSI SQL и ODBC. Для списка возможных значений см. Приложение C, Ошибки, Коды ошибки, и Типичные проблемы.

Значения SQLSTATE, возвращенные mysql_sqlstate() отличайтесь от специфичных для MySQL кодов ошибки, возвращенных mysql_errno(). Например, mysql клиентская программа выводит на экран ошибки, используя следующий формат, где 1146 mysql_errno() значение и '42S02' соответствие mysql_sqlstate() значение:

shell> SELECT * FROM no_such_table;ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist

Не все коды ошибки MySQL отображаются на коды ошибки SQLSTATE. Значение 'HY000' (общая ошибка), используется для неотображенных кодов ошибки.

Если Вы вызываете mysql_sqlstate() после mysql_real_connect() сбои, mysql_sqlstate() не мог бы возвратить полезное значение. Например, это происходит, если узел блокируется сервером, и соединение закрывается без любого значения SQLSTATE, отправляемого клиенту.

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

Завершенная нулем символьная строка, содержащая код ошибки SQLSTATE.

См. Также

См. Раздел 22.8.7.14,"mysql_errno()", Раздел 22.8.7.15,"mysql_error()", и Раздел 22.8.11.27,"mysql_stmt_sqlstate()".