> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_real_query.md).

# mysql\_real\_query

## Syntax

```c
int mysql_real_query(MYSQL * mysql,
                     const char * q,
                     unsigned long);
```

## Parameters

* `mysql` - a mysql handle, which was previously allocated by [mysql\_init()](/docs/connectors/mariadb-connector-c/api-functions/mysql_init.md) or [mysql\_real\_connect()](/docs/connectors/mariadb-connector-c/api-functions/mysql_real_connect.md).
* `query` - a string containing the statement to be performed.
* `long` - length of the string.

## Description

`mysql_real_query()` is a binary-safe function for executing a statement on the database server.

## Return Value

Returns zero on success, otherwise non-zero.

{% hint style="info" %}

* Contrary to the [mysql\_query()](/docs/connectors/mariadb-connector-c/api-functions/mysql_query.md) function, `mysql_real_query` is binary safe.
* To determine if `mysql_real_query` returns a result set, use the [mysql\_num\_fields()](/docs/connectors/mariadb-connector-c/api-functions/mysql_num_fields.md) function.
  {% endhint %}

## See Also

* [mysql\_query()](/docs/connectors/mariadb-connector-c/api-functions/mysql_query.md)
* [mysql\_num\_fields()](/docs/connectors/mariadb-connector-c/api-functions/mysql_num_fields.md)
* [mysql\_use\_result()](/docs/connectors/mariadb-connector-c/api-functions/mysql_use_result.md)
* [mysql\_store\_result()](/docs/connectors/mariadb-connector-c/api-functions/mysql_store_result.md)

{% @marketo/form formId="4316" %}
