Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

mysqli::change_user

mysqli_change_user

(PHP 5)

mysqli::change_user -- mysqli_change_user — Позволяет сменить пользователя подключенного к базе данных


Описание

Объектно-ориентированный стиль

bool mysqli::change_user ( string $user , string $password , string $database )

Процедурный стиль

bool mysqli_change_user ( mysqli $link , string $user , string $password , string $database )

Меняет пользователя, от имени которого выполнено подключение к базе данных, и устанавливает текущую базу данных

Для успешной смены пользователя необходимы корректные username и password, а так же наличие достаточных прав для работы с базой. Если смена пользователя закончится ошибкой, сохранится текущая авторизация пользователя, до вызова функции.


Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

user

Имя пользователя для доступа к MySQL

password

Пароль для доступа к MySQL

database

Имя базы данных

Если требуется сменить пользователя, без выбора базы данных, следует указывать NULL. Для выбора базы данных, необходимо использовать функцию mysqli_select_db().


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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.


Примечания

Замечание:

Всегда вызывается текущее содединение с базой данных, которое ведет себя так, как будто было создано новое соединение. Независимо от результата операции, вызов команды приведет к откату всех активных транзакций, закрытию временных таблиц и разблокировки всех заблокированных таблиц, даже если результат будет успешным.


Примеры

Пример #1 Пример использования mysqli::change_user()

Объектно-ориентированный стиль


/* создаем подключение к базе данных test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* проверяем соединение */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
/* устанавливаем переменную a */
$mysqli->query("SET @a:=1");
/* все сбрасываем и выбираем новую базу данных */
$mysqli->change_user("my_user", "my_password", "world");
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database: %s\n", $row[0]);
    $result->close();
}
if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    $result->close();
}
/* закрываем соединение */
$mysqli->close();

Процедурный стиль


/* создаем подключение к базе данных test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
/* проверяем соединение */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
/* устанавливаем переменную a */
mysqli_query($link, "SET @a:=1");
/* все сбрасываем и выбираем новую базу данных */
mysqli_change_user($link, "my_user", "my_password", "world");
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}
if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}
/* закрываем соединение */
mysqli_close($link);

Результат выполнения данных примеров:


Default database: world
Value of variable a is NULL

Смотрите также

  • mysqli_connect() - Псевдоним mysqli::__construct
  • mysqli_select_db() - Устанавливает базу данных для выполняемых запросов

Описание класса mysqli, примеры использования класса mysqli.

Описание на ru2.php.net
Описание на php.ru