const char *mysql_error(MYSQL *mysql)
      
Description
        For the connection specified by mysql,
        mysql_error() returns a
        null-terminated string containing the error message for the most
        recently invoked API function that failed. If a function didn't
        fail, the return value of
        mysql_error() may be the
        previous error or an empty string to indicate no error.
      
        A rule of thumb is that all functions that have to ask the
        server for information reset
        mysql_error() if they succeed.
      
        For functions that reset
        mysql_error(), the following two
        tests are equivalent:
      
if(*mysql_error(&mysql))
{
  // an error occurred
}
if(mysql_error(&mysql)[0])
{
  // an error occurred
}
The language of the client error messages may be changed by recompiling the MySQL client library. Currently, you can choose error messages in several different languages. See Section 9.2, “Setting the Error Message Language”.
Return Values
A null-terminated character string that describes the error. An empty string if no error occurred.
Errors
None.

User Comments
I have use this function on an example in
22.2.3.69. mysql_warning_count()
Please keep in mind that the return value of this function won't be persistent over multiple API calls. If you need to keep the error message over some time, you'll have to copy it "away". (BTW How is the allocated space of the original message freed?)
Add your own comment.