unsigned int mysql_errno(MYSQL *mysql)
      
Description
        For the connection specified by mysql,
        mysql_errno() returns the error
        code for the most recently invoked API function that can succeed
        or fail. A return value of zero means that no error occurred.
        Client error message numbers are listed in the MySQL
        errmsg.h header file. Server error message
        numbers are listed in mysqld_error.h.
        Errors also are listed at Appendix A, Errors, Error Codes, and Common Problems.
      
        Note that some functions like
        mysql_fetch_row() don't set
        mysql_errno() if they succeed.
      
        A rule of thumb is that all functions that have to ask the
        server for information reset
        mysql_errno() if they succeed.
      
        MySQL-specific error numbers returned by
        mysql_errno() differ from
        SQLSTATE values returned by
        mysql_sqlstate(). 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
Return Values
        An error code value for the last
        mysql_ call,
        if it failed. zero means no error occurred.
      xxx()
Errors
None.

User Comments
Rather than requiring that we all download the source distribution, which not all of us want to do, why not include the error codes/messages as part of the online docs?
uint STDCALL mysql_errno(MYSQL *mysql)
{
if (mysql==NULL) return 0;
else return mysql->net.last_errno;
}
I have use this function on an example in
22.2.3.69. mysql_warning_count()
Add your own comment.