mysqli::change_user

mysqli_change_user

(PHP 5, PHP 7)

mysqli::change_user -- mysqli_change_userCambia el usuario de la conexión de bases de datos especificada

Descripción

Estilo orientado a objetos

mysqli::change_user ( string $user , string $password , string $database ) : bool

Estilo por procedimientos

mysqli_change_user ( mysqli $link , string $user , string $password , string $database ) : bool

Cambia el usuario de la conexión de base de datos especificada y establece la base de datos actual.

Para realizar con éxito el cambio de usuarios, un username y password válidos deben ser indicados y ese usuario debe tener suficientes permisos para acceder a la base de datos deseada. Si por cualquier razón la autorización falla, se mantendrá la autenticación de usuario existente.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

user

Nombre de usuario de MySQL.

password

Contraseña de MySQL.

database

La base de datos a la que quiero cambiar.

Si se desea, se puede parar el valor NULL de modo que solo cambiará el usuario y no se seleccionará una base de datos. Para seleccionar una base de datos en este caso, utilice la función mysqli_select_db().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Notas

Nota:

El uso de este comando siempre causará que la conexión a la base de datos actual se comporte como una conexión completamente nueva, independientemente de si la operación se ha completado con éxito. Este reinicio incluye la realización de un "rollback" a cualquier transacción activa, cerrando todas las tablas temporales, y desbloqueando todas las tablas bloqueadas.

Ejemplos

Ejemplo #1 Ejemplo del método mysqli::change_user()

Estilo orientado a objetos

<?php

/* connect database test */
$mysqli = new mysqli("localhost""mi_usuario""mi_contraseña""test");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Error de conexión: %s\n"mysqli_connect_error());
    exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reiniciando todo, y realizando una nueva conexión a base de datos */
$mysqli->change_user("my_user""my_password""world");

if (
$result $mysqli->query("SELECT DATABASE()")) {
    
$row $result->fetch_row();
    
printf("Base de datos predeterminada: %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();
?>

Estilo por procedimientos

<?php
/* connect database test */
$link mysqli_connect("localhost""mi_usuario""mi_contraseña""test");

/* check connection */
if (!$link) {
    
printf("Error de conexión: %s\n"mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link"SET @a:=1");

/* reinciando todo y realizando una nueva conexión a base de datos. */
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);
}

/* Cerrar conexión */
mysqli_close($link);
?>

El resultado de los ejemplos sería:

Default database: world
Value of variable a is NULL

Ver también