<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.10 $ -->
<!-- EN-Revision: 1.9 Maintainer: baoengb Status: ready -->
  <refentry id="function.mysqli-change-user">
   <refnamediv>
    <refname>mysqli_change_user</refname>
    <refname>mysqli->change_user</refname>
    <refpurpose>Cambia el usuario de la conexi&oacute;n a la base de datos especificada</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Descripci&oacute;n</title>
    <para>Estilo por procedimientos:</para>
    <methodsynopsis>
     <type>bool</type><methodname>mysqli_change_user</methodname>
     <methodparam><type>object</type><parameter>identificador_de_enlace</parameter></methodparam>
     <methodparam><type>cadena</type><parameter>usuario</parameter></methodparam>
     <methodparam><type>cadena</type><parameter>contrase&ntilde;a</parameter></methodparam>
     <methodparam><type>cadena</type><parameter>base_de_datos</parameter></methodparam>
    </methodsynopsis>
    <para>Estilo orientado a objetos (m&eacute;todo):</para>
    <classsynopsis>
     <ooclass><classname>mysqli</classname></ooclass>
     <methodsynopsis>
      <type>bool</type>
      <methodname>change_user</methodname>
      <methodparam><type>cadena</type><parameter>usuario</parameter></methodparam>
      <methodparam><type>cadena</type><parameter>contrase&nacute;a</parameter></methodparam>
      <methodparam><type>cadena</type><parameter>base_de_datos</parameter></methodparam>
     </methodsynopsis>
    </classsynopsis>     
    <para>
     <function>mysqli_change_user</function> Es usada para cambiar el usuario para 
	  la conexi&oacute;n de base de datos indicada por el par&aacute;metro 
	  <parameter>identificador_de_enlace</parameter> y para fijar la actual base de datos a la espec&iacute;ficada  
     por el par&aacute;metro <parameter>base_de_datos</parameter>. 
    </para>
    <para>
	  Si se desea, se puede pasar el valor &null; en lugar del par&aacute;metro 
	  <parameter>base_de_datos</parameter> 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&oacute;n <function>mysqli_select_db</function>.
    </para>
    <para>
	  Para poder cambiar de usuario de forma exitosa se debe proveer de un 
     <parameter>usuario</parameter> y <parameter>contrase&ntilde;a</parameter> 
	  validos, y tales par&aacute;metros debe contar con los suficientes permisos 
	  para acceder a la base de datos deseada.  Si por cualquier raz&oacute;n la 
	  autorizaci&oacute;n falla, el actual usuario autenticado permanecer&aacute; activo.
    </para>
    <note>
     <para>
	   El uso de este comando siempre producir&aacute; que la conexi&oacute;n actual 
		a la base de datos se comporte como si fuera una nueva conexi&oacute;n, 
		sin importar si la operaci&oacute;n fue completada exitosamente. Este reinicio 
		implica el hacer la restauraci&oacute;n no actualizada "rollback" de cualquier 
		transacci&oacute;n activa, cerrar todas las tablas temporales y des-asegurar 
		todas las tablas aseguradas. 
     </para>
    </note>
   </refsect1>
   <refsect1>
    <title>Valores regresados</title>
    <para>
     &return.success;
    </para>
   </refsect1>
   <refsect1>
    <title>Vea tambi&eacute;n:</title>
    <para>
     <function>mysqli_connect</function>
     <function>mysqli_select_db</function>
    </para>
   </refsect1>
   <refsect1>
    <title>Ejemplos</title>
     <example>
      <title>Estilo orientado a objetos</title>
      <programlisting role="php">
<![CDATA[
<?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();
?>
]]>
      </programlisting>
     </example>
     <example>
      <title>Estilo por procedimientos</title>
      <programlisting role="php">
<![CDATA[
<?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);
?>
]]>
     </programlisting>
    </example>
    <para>
	  Los ejemplos anteriores producir&aacute;n la siguiente salida:
    </para>
    <screen>
<![CDATA[
Default database: world
Value of variable a is NULL
]]>
    </screen>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->