> 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_reset_connection.md).

# mysql\_reset\_connection

## Syntax

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

## Parameter

* `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).

## Description

Resets the current connection and clears session state. Similar to [mysql\_change\_user()](/docs/connectors/mariadb-connector-c/api-functions/mysql_change_user.md) or [mariadb\_reconnect()](/docs/connectors/mariadb-connector-c/api-functions/mariadb_reconnect.md), `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

## Return Value

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

## History

This function was added in MariaDB Connector/C 3.0.0.

## See Also

* [mariadb\_cancel()](/docs/connectors/mariadb-connector-c/api-functions/mariadb_cancel.md)
* [mysql\_kill()](/docs/connectors/mariadb-connector-c/api-functions/mysql_kill.md)

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