const char *mysql_sqlstate(MYSQL *mysql)
Description
Returns a null-terminated string containing the SQLSTATE error
code for the most recently executed SQL statement. The error
code consists of five characters. '00000'
means “no error”. The values are specified by ANSI
SQL and ODBC. For a list of possible values, see
Error Codes and Messages.
SQLSTATE values returned by mysql_sqlstate()
differ from MySQL-specific error numbers returned by
mysql_errno(). For example, the
mysql client program displays errors using
the following format, where 1146 is the
mysql_errno() value and
'42S02' is the corresponding
mysql_sqlstate() value:
shell> SELECT * FROM no_such_table;
ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist
Not all MySQL error numbers are mapped to SQLSTATE error codes.
The value 'HY000' (general error) is used for
unmapped error numbers.
If you call mysql_sqlstate() after
mysql_real_connect() fails,
mysql_sqlstate() might not return a useful
value. For example, this happens if a host is blocked by the
server and the connection is closed without any SQLSTATE value
being sent to the client.
Return Values
A null-terminated character string containing the SQLSTATE error code.
See Also
See Section 24.2.3.14, “mysql_errno()”,
Section 24.2.3.15, “mysql_error()”, and
Section 24.2.7.26, “mysql_stmt_sqlstate()”.

User Comments
Add your own comment.