# mysql\_reset\_connection

## Syntax

```c
int mysql_reset_connection(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

Resets the current connection and clears session state. Similar to [mysql\_change\_user()](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_change_user) or [mariadb\_reconnect()](https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mariadb_reconnect), `mysql_reset_connection()` resets session status, but without disconnecting, opening, or reauthenticating.

On client side `mysql_reset_connection()`

* clears pending or unprocessed result sets
* clears status like `affected_rows`, info or `last_insert_id`
* invalidates active prepared statements

On server side `mysql_reset_connection()`

* drops temporary table(s)
* rollbacks active transaction
* resets auto commit mode
* releases table locks
* initializes session variables (and sets them to the value of corresponding global variables)
* closes active prepared statements
* clears user variables

Returns zero on success, non-zero if an error occurred.

This function was added in MariaDB Connector/C 3.0.0.

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