mysqli_change_user,

(PHP 5)

mysqli_change_user, 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 )
}

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

Style procédural uniquement : 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, FALSE en cas d'échec.

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 1624. 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" );

/* 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 ( "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 ();
?>

Exemple 1625. 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" );

/* 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 ( "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 );
?>

L'exemple ci-dessus va afficher :


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

  

Voir aussi

mysqli_connect()
mysqli_select_db()