|
Spec-Zone .ru
спецификации, руководства, описания, API
|
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.
См. Раздел 21.8.7.14,"mysql_errno()", Раздел
21.8.7.15,"mysql_error()", и Раздел
21.8.11.27,"mysql_stmt_sqlstate()".