MySQL 8.0 C API Developer Guide

5.4.59 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 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.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.23, “mysql_field_count()”.

Return Values

Zero for success. Nonzero if an error occurred.

Errors