(PHP 5, PHP 7)
mysqli::change_user -- mysqli_change_user — Modifica o usuário para a conexão com o banco de dados especificada
Estilo orientado a objeto (metodo):
$user
, string $password
, string $database
)Estilo de procedimento:
mysqli_change_user() é usado para mudar o usuário na conexão com o
banco de dados especificado como indicado pelo parâmetro link
e definido para o banco
de dados atual para o especificado pelo parâmetro database
.
Se desejado, o valor NULL
pode ser passado no lugar do parâmetro database
fazendo com que seja apenas mudado o usuário e não seja escolhido também um banco de dados. Para escolher
um banco de dados neste caso, use a função mysqli_select_db().
Para poder mudar usuários de maneira correta, os parâmetors username
e
password
devem ser válidos e este usuário deve ter permissões
suficinte para acessar o banco de dados desejado. Se por alguma razão a autenticação falhar,
o usuário atualmente autenticado irá permanecer.
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha.
Nota:
Usar este comando fará sempre que a conexão atual com o banco de dados funcione como se fosse completamente uma nova conexão, não importando se a operação foi completada de maneira correta. Este reínicio incluí desfazer quaisquer transações ativas, fechar todas as tabelas temporarias e destravar todas as tabelas travadas.
Exemplo #1 Estilo orientado a objetos
<?php
/* connect database test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* Set Variable a */
$mysqli->query("SET @a:=1");
/* reset all and select a new database */
$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();
}
/* close connection */
$mysqli->close();
?>
Exemplo #2 Estilo de procedimentos
<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* Set Variable a */
mysqli_query($link, "SET @a:=1");
/* reset all and select a new database */
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);
}
/* close connection */
mysqli_close($link);
?>
O exemplo acima irá imprimir:
Default database: world Value of variable a is NULL