# mysql\_ping

## Syntax

```c
int mysql_ping(MYSQL * mysql);
```

* `mysql` - a mysql handle, which was previously allocated by [mysql\_init()](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_init) or [mysql\_real\_connect()](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_real_connect).

## Description

Checks whether the connection to the server is working. If it has gone down, and global option reconnect is enabled an automatic reconnection is attempted.

Returns zero on success, nonzero if an error occured.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

{% hint style="info" %}
If a reconnect occurred the `thread_id` will change. Also resources bundled to the connection (prepared statements, locks, temporary tables, ...) will be released.
{% endhint %}

## See also

* [mysql\_options()](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_options)
* [mysql\_kill()](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_kill)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_ping.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
