mysqli::begin_transaction
mysqli::character_set_name
MySQLi
PHP Manual

# mysqli::change_user

# mysqli_change_user

(PHP 5)

mysqli::change_user -- mysqli_change_user — Modifica o usuário para a conexão com o banco de dados especificada

### Descrição

Estilo orientado a objeto (metodo):

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

Estilo de procedimento:

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

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.

### Valor Retornado

Retorna `TRUE` em caso de sucesso ou `FALSE` em caso de falha.

### Notas

> 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.

### Exemplos

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

### Veja Também

- mysqli_connect() - Sinônimo de mysqli::__construct
- mysqli_select_db() - Selects the default database for database queries

mysqli::begin_transaction
mysqli::character_set_name
MySQLi
PHP Manual