boolmysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db) Changes the user and causes the database specified bydb to become the default (current) database on the connection specified bymysql. In subsequent queries, this database is the default for table references that include no explicit database specifier.
mysql_change_user() fails if the connected user cannot be authenticated or does not have permission to use the database. In this case, the user and database are not changed.
Pass adb parameter ofNULL if you do not want to have a default database.
This function resets the session state as if one had done a new connect and reauthenticated. (SeeSection 3.6.8, “Automatic Reconnection Control”.) It always performs aROLLBACK of any active transactions, closes and drops all temporary tables, and unlocks all locked tables. It resets session system variables to the values of the corresponding global system variables, releases prepared statements, closesHANDLER variables, and releases locks acquired withGET_LOCK(). Clears any current query attributes defined as a result of callingmysql_bind_param(). These effects occur even if the user did not change.
To reset the connection state in a more lightweight manner without changing the user, usemysql_reset_connection().
The same that you can get frommysql_real_connect(), plus:
Commands were executed in an improper order.
The MySQL server has gone away.
The connection to the server was lost during the query.
An unknown error occurred.
The MySQL server does not implement this command (probably an old server).
The user or password was wrong.
The database did not exist.
The user did not have access rights to the database.
The database name was too long.