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.