Documentation Home
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 46.3Mb
PDF (A4) - 46.3Mb
PDF (RPM) - 41.7Mb
HTML Download (TGZ) - 10.6Mb
HTML Download (Zip) - 10.7Mb
HTML Download (RPM) - 9.2Mb
Man Pages (TGZ) - 224.0Kb
Man Pages (Zip) - 329.4Kb
Info (Gzip) - 4.1Mb
Info (Zip) - 4.1Mb
Excerpts from this Manual

28.7.7.57 mysql_real_query()

int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)

Description
Note

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 Section 28.7.12, “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 28.7.23, “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 28.7.7.22, “mysql_field_count()”.

Return Values

Zero for success. Nonzero if an error occurred.

Errors