27.7.6.57 mysql_real_query()
int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)
mysql_real_query()
executes the SQL statement pointed to by stmt_str
, a string length
bytes long. Normally, the string must consist of a single SQL statement without a terminating semicolon (;
) or \g
. If multiple-statement execution has been enabled, the string can contain several statements separated by semicolons. See Section 27.7.15, “C API Multiple Statement Execution Support”.
mysql_query()
cannot be used for statements that contain binary data; you must use mysql_real_query()
instead. (Binary data may contain the \0
character, which mysql_query()
interprets as the end of the statement string.) In addition, mysql_real_query()
is faster than mysql_query()
because it does not call strlen()
on the statement string.
If you want to know whether the statement returns a result set, you can use mysql_field_count()
to check for this. See Section 27.7.6.22, “mysql_field_count()”.
Commands were executed in an improper order.
The MySQL server has gone away.
The connection to the server was lost during the query.
An unknown error occurred.