5.4.81 mysql_sqlstate()
const char *
mysql_sqlstate(MYSQL *mysql)
Описание
Возвращает строку с нулевым завершением, содержащую код ошибки SQLSTATE для последнего выполненного SQL-запроса. Код ошибки состоит из пяти символов. '00000' означает “нет ошибки.” Значения определяются ANSI SQL и ODBC. Список возможных значений см. в .
Значения SQLSTATE, возвращаемые mysql_sqlstate(), отличаются от специфичных для MySQL номеров ошибок, возвращаемых mysql_errno(). Например, программа-клиент mysql отображает ошибки в следующем формате, где 1146 — значение mysql_errno(), а '42S02' — соответствующее значение mysql_sqlstate():
$> 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.
См. также
См. Раздел 5.4.15, «mysql_errno()», Раздел 5.4.16, «mysql_error()» и Раздел 6.4.27, «mysql_stmt_sqlstate()».
© 2025 Oracle
Licensed under the GPLv2 License.