my_bool mysql_change_user(MYSQL *mysql, const char
*user, const char *password, const char *db)
Описание
Изменяет пользователя и
устанавливает базу данных,
указанную в аргументе db
в качестве текущей по базы данных
для соединения, заданного в
аргументе mysql. В
последующих запросах эта база
данных является текущей по
умолчанию для табличных ссылок,
которые не содержат явного
указателя базы данных.
Эта функция была введена в версию MySQL 3.23.3.
Функция mysql_change_user() не
выполняется, если подключенный
пользователь не может быть
аутентифицирован или если он не
имеет разрешения на
использование этой базы данных. В
таком случае данный пользователь
и база данных не изменяются.
Параметр db может быть
установлен в NULL, если
база данных по умолчанию не нужна.
Начиная с версии 4.0.6 будет всегда производить откат любой начатой транзакции, закрывать все временные таблицы, снимать блокировку со всех заблокированных таблиц и переустанавливать состояние, если произошло новое соединение. Это будет происходить даже в том случае, если имя пользователя не изменится.
Возвращаемые значения
Нуль при успешном выполнении. Ненулевая величина, если возникла ошибка.
Ошибки
Те же, что и для
mysql_real_connect().
CR_COMMANDS_OUT_OF_SYNC
Команды были выполнены в ненадлежащем порядке.
CR_SERVER_GONE_ERROR
Сервер MySQL неожиданно завершил работу.
CR_SERVER_LOST
Соединение с сервером прервалось в процессе данного запроса.
CR_UNKNOWN_ERROR
Произошла неизвестная ошибка.
ER_UNKNOWN_COM_ERROR
Сервер MySQL не обеспечивает выполнение этой команды (возможно, старая версия сервера)
ER_ACCESS_DENIED_ERROR
Пользователь или пароль ошибочны.
ER_BAD_DB_ERROR
Данная база данных не существует.
ER_DBACCESS_DENIED_ERROR
Данный пользователь не имеет прав доступа к этой базе данных.
ER_WRONG_DB_NAME
Имя базы данных было слишком длинным.
Пример
if (mysql_change_user(&mysql, "user", "password", "new_database"))
{
fprintf(stderr, "Failed to change user. Error: %s\n",
mysql_error(&mysql));
}
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
