Spec-Zone .ru
спецификации, руководства, описания, API

21.8.7.3. mysql_change_user()

my_bool mysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db)

Описание

Изменяет пользователя и вызывает базу данных, определенную db стать значением по умолчанию (ток) база данных на соединении, определенном mysql. В последующих запросах эта база данных является значением по умолчанию для ссылок на таблицу, которые не включают явный спецификатор базы данных.

mysql_change_user() сбои, если соединенный пользователь не может аутентифицироваться или не имеет разрешения, чтобы использовать базу данных. В этом случае пользователь и база данных не изменяются.

db параметры могут быть установлены к NULL если Вы не хотите иметь базу данных значения по умолчанию.

Эта команда сбрасывает состояние, как будто каждый сделал новое, соединяются. (См. Раздел 21.8.16, "Управляя Автоматическим Поведением Пересоединения".) Это всегда выполняет a ROLLBACK из любых активных транзакций завершения и отбрасывают все временные таблицы, и разблокировали все заблокированные таблицы. Системные переменные сеанса сбрасываются к значениям соответствующих глобальных системных переменных. Готовые заявления опубликовываются и HANDLER переменные закрываются. Блокировки, полученные с GET_LOCK() выпускаются. Эти эффекты происходят, даже если пользователь не изменялся.

Возвращаемые значения

Нуль для успеха. Ненулевой, если ошибка произошла.

Ошибки

То же самое, что можно добраться от mysql_real_connect().

Пример

if (mysql_change_user(&mysql, "user", "password", "new_database")){   fprintf(stderr, "Failed to change user.  Error: %s\n",           mysql_error(&mysql));}