mysqli
PHP Manual

mysqli::change_user

mysqli_change_user

(PHP 5, PHP 7)

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()

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

<?php

/* создаем подключение к базе данных 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();
?>

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

<?php
/* создаем подключение к базе данных 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
PHP Manual