(PHP 5)
mysqli_change_user, mysqli->change_user() — Change l'utilisateur de la connexion spécifiée
Style procédural
bool mysqli_change_user ( mysqli $link, string $user, string $password, string $database )Style orienté objet (méthode)
class mysqli {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é.
Style procédural uniquement : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
Le nom d'utilisateur MySQL.
Le mot de passe MySQL.
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.
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
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.
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
mysqli_connect() |
mysqli_select_db() |