mysqli::autocommit
mysqli::character_set_name
MySQLi
PHP Manual

# mysqli::change_user

# mysqli_change_user

(PHP 5)

mysqli::change_user -- mysqli_change_user — Change l'utilisateur de la connexion spécifiée

### Description

Style orienté objet

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

Style procédural

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

Change l'utilisateur de la connexion spécifiée par le paramètre `link` et change la base de données courante pour celle spécifiée par le paramètre `database`.

Pour que cette fonction réussisse, les paramètres `username` et `password` doivent être valides et l'utilisateur en question doit avoir les permissions d'accès à la base de données désirée. Si pour une raison ou une autre, l'autorisation échoue, l'utilisateur courant sera conservé.

### Liste de paramètres

`link`

  Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

`user`

  Le nom d'utilisateur MySQL.

`password`

  Le mot de passe MySQL.

`database`

  La base de données à utiliser.

  Vous pouvez passer la valeur `NULL` à ce paramètre pour ne changer que l'utilisateur. Dans ce cas, vous pouvez utiliser la fonction mysqli_select_db() pour changer de base de données.

### Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès ou `FALSE` si une erreur survient.

### Notes

> Note: L'utilisation de cette commande implique toujours que la connexion soit considérée comme neuve, que la fonction réussisse ou non. Un appel à cette fonction annulera donc toutes les transactions actives, fermera les tables temporaires et déverrouillera les tables verrouillées.

### Exemples

Exemple #1 Exemple avec mysqli::change_user

Style orienté objet

`<?php
/* Connexion à la base de données test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
/* Définition de la variable "a" */
$mysqli->query("SET @a:=1");
/* réinitialise tout et sélectionne une nouvelle base de données */
$mysqli->change_user("my_user", "my_password", "world");
if ($result = $mysqli->query("SELECT DATABASE()")) {
$row = $result->fetch_row();
printf("Base de données par défaut : %s\n", $row[0]);
$result->close();
}
if ($result = $mysqli->query("SELECT @a")) {
$row = $result->fetch_row();
if ($row[0] === NULL) {
printf("La valeur de la variable a est NULL\n");
}
$result->close();
}
/* Fermeture de la connexion */
$mysqli->close();
?>`

Style procédural

`<?php
/* Connexion à la base de données test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
/* Vérification de la connexion */
if (!$link) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
/* Définition de la variable "a" */
mysqli_query($link, "SET @a:=1");
/* réinitialise tout et sélectionne une nouvelle base de données */
mysqli_change_user($link, "my_user", "my_password", "world");
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
$row = mysqli_fetch_row($result);
printf("Base de données par défaut : %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("La valeur de la variable a est NULL\n");
}
mysqli_free_result($result);
}
/* Fermeture de la connexion */
mysqli_close($link);
?>`

Les exemples ci-dessus vont afficher :

    Base de données par défaut : world
    La valeur de la variable a est NULL

### Voir aussi

- mysqli_connect() - Alias de mysqli::__construct
- mysqli_select_db() - Sélectionne une base de données par défaut pour les requêtes

mysqli::autocommit
mysqli::character_set_name
MySQLi
PHP Manual