8.4.3.6 mysql_change_user()
my_bool mysql_change_user(MYSQL *mysql, const char *user, const
char *password, const char *db)
8.4.3.7 Описание
Изменяет пользователя и устанавливает базу данных, указанную в аргументе
db
в качестве текущей по базы данных для соединения, заданного в аргументе
mysql
. В последующих запросах эта база данных является текущей по
умолчанию для табличных ссылок, которые не содержат явного указателя базы
данных.
Эта функция была введена в версию MySQL 3.23.3.
Функция mysql_change_user()
не выполняется, если подключенный пользователь
не может быть аутентифицирован или если он не имеет разрешения на
использование этой базы данных. В таком случае данный пользователь и база
данных не изменяются.
Параметр db
может быть установлен в NULL
, если база данных по умолчанию не
нужна.
8.4.3.8 Возвращаемые значения
Нуль при успешном выполнении. Ненулевая величина, если возникла ошибка.
8.4.3.9 Ошибки
Те же, что и для 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
- Имя базы данных было слишком длинным.
8.4.3.10 Пример
if (mysql_change_user(&mysql, "user", "password", "new_database")) { fprintf(stderr, "Failed to change user. Error: %s\n", mysql_error(&mysql)); }
8.4.3.1 mysql_affected_rows() | Оглавление | 8.4.3.11 mysql_character_set_name() |