Forum und email

mysqli_change_user

mysqli->change_user

(PHP 5)

mysqli->change_user — Cambia el usuario de la conexión a la base de datos especificada

Descripción

Estilo por procedimientos:

bool mysqli_change_user ( mysqli $identificador_de_enlace , cadena $usuario , cadena $contraseña , cadena $base_de_datos )

Estilo orientado a objetos (método):

mysqli
bool change_user ( cadena $usuario , cadena $contrasenya , cadena $base_de_datos )

mysqli_change_user() Es usada para cambiar el usuario para la conexión de base de datos indicada por el parámetro identificador_de_enlace y para fijar la actual base de datos a la específicada por el parámetro base_de_datos .

Si se desea, se puede pasar el valor NULL en lugar del parámetro base_de_datos resultando en solo cambiar el usaurio y no seleccionar la base de datos. Para seleccionar una base de datos en este caso use la función mysqli_select_db().

Para poder cambiar de usuario de forma exitosa se debe proveer de un usuario y contraseña validos, y tales parámetros debe contar con los suficientes permisos para acceder a la base de datos deseada. Si por cualquier razón la autorización falla, el actual usuario autenticado permanecerá activo.

Note: El uso de este comando siempre producirá que la conexión actual a la base de datos se comporte como si fuera una nueva conexión, sin importar si la operación fue completada exitosamente. Este reinicio implica el hacer la restauración no actualizada "rollback" de cualquier transacción activa, cerrar todas las tablas temporales y des-asegurar todas las tablas aseguradas.

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplos

Example#1 Estilo orientado a objetos

<?php

/* connect database test */
$mysqli = new mysqli("localhost""my_user""my_password""test");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* Set 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("Default database: %s\n"$row[0]);
    
$result->close();
}

if (
$result $mysqli->query("SELECT @a")) {
    
$row $result->fetch_row();
      if (
$row[0] === NULL) {
        
printf("Value of variable a is NULL\n");
      }
    
$result->close();
}

/* close connection */
$mysqli->close();
?>

Example#2 Estilo por procedimientos

<?php
/* connect database test */
$link mysqli_connect("localhost""my_user""my_password""test");

/* check connection */
if (!$link) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* Set 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("Default database: %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("Value of variable a is NULL\n");
      }
    
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

Default database: world
Value of variable a is NULL