5.4.74 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.14, «mysql_errno()», Раздел 5.4.15, «mysql_error()» и Раздел 6.4.27, «mysql_stmt_sqlstate()».
© 2025 Oracle
Licensed under the GPLv2 License.