php-doc-en/reference/mysqli/functions/mysqli-change-user.xml

189 lines
5.9 KiB
XML
Raw Normal View History

<?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
-->