MySQL 8.4 C API Developer Guide
int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)
mysql_real_query()
is a
synchronous function. Its asynchronous counterpart is
mysql_real_query_nonblocking()
,
for use by applications that require asynchronous
communication with the server. See
Chapter 7, C API Asynchronous Interface.
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.3, “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.23, “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.