mysqli_change_user

(PHP 5)

mysqli_change_user

(no version information, might be only in CVS)

mysqli->change_user -- Change l'utilisateur de la connexion spécifiée

Description

Style procédural

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

Style orienté objet (méthode)

class mysqli {

bool change_user ( string user, string password, string database )

}

mysqli_change_user() est utilisée pour changer l'utilisateur de la connexion spécifiée par le paramètre link et changer la base de données courante pour celle spécifiée par le paramètre database.

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

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

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.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Voir aussi

mysqli_connect() et mysqli_select_db().

Exemples

Exemple 1. 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("Echec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Définition de la variable "a" */
$mysqli->query("SET @a:=1");
                                         
/* Réinitialisation et changement de l'utilisateur */
$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) {
        echo
"La valeur de la variable a est NULL\n";
    }
    
$result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Exemple 2. Procedural style

<?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("Echec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Définition de la variable "a" */
mysqli_query($link, "SET @a:=1");
                                         
/* Réinitialisation et changement de l'utilisateur */
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) {
        echo
"La valeur de la variable a est NULL\n";
    }
    
mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

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