Manuel PHP
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 :
Style 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é.
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 #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("É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();
- ?>
Exemple #2 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);
- ?>
L'exemple ci-dessus va afficher :
Remonter 
