MySQL 5.7 C API Developer Guide
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 3.6.2, “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.
To determine whether a statement returns a result set, call
mysql_field_count(). See
Section 5.4.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.