(PHP 5, PHP 7, PHP 8)
mysqli::change_user -- mysqli_change_user — Change l'utilisateur de la connexion spécifiée
Style orienté objet
$username, string $password, ?string $database): boolStyle procédural
   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é.
  
mysqlSeulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou par la fonction mysqli_init().
usernameLe nom d'utilisateur MySQL.
passwordLe mot de passe MySQL.
databaseLa 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.
      
   Cette fonction retourne true en cas de succès ou false si une erreur survient.
  
Si le rapport d'erreurs mysqli est activé (MYSQLI_REPORT_ERROR) et que l'opération demandée échoue,
un avertissement est généré. Si, en plus, le mode est défini sur MYSQLI_REPORT_STRICT,
une mysqli_sql_exception est lancée à la place.
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
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.