25.2.3.53. mysql_real_query()
int mysql_real_query(MYSQL *mysql, const char *query,
unsigned long length)
Description
Executes the SQL query pointed to by query
,
which should be a string length
bytes long.
Normally, the string must consist of a single SQL statement
and you should not add a terminating semicolon
(‘;
’) or \g
to the statement. If multiple-statement execution has been
enabled, the string can contain several statements separated
by semicolons. See Section 25.2.9, “C API Handling of Multiple Query Execution”.
You must use
mysql_real_query()
rather than
mysql_query()
for queries that contain
binary data, because binary data may contain the
‘\0
’ character. In addition,
mysql_real_query()
is faster than
mysql_query()
because it does not call
strlen()
on the query string.
If you want to know whether the query should return a result
set, you can use mysql_field_count()
to
check for this. See Section 25.2.3.22, “mysql_field_count()
”.
Return Values
Zero if the query was successful. Non-zero if an error
occurred.
Errors
-
CR_COMMANDS_OUT_OF_SYNC
Commands were executed in an improper order.
-
CR_SERVER_GONE_ERROR
The MySQL server has gone away.
-
CR_SERVER_LOST
The connection to the server was lost during the query.
-
CR_UNKNOWN_ERROR
An unknown error occurred.