mysqli_change_user

mysqli_change_user

(PHP 5)

mysqli_change_user

(no version information, might be only in CVS)

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):

class mysqli {

bool change_user ( cadena usuario, cadena contrase艅a, 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.

Nota: 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.

Ver tambi茅n

mysqli_connect(), y mysqli_select_db().

Ejemplos

Ejemplo 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();
?>

Ejemplo 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