<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 298136 $ -->
<!-- EN-Revision: 298136 Maintainer: jesus_cova  Status: ready -->
<refentry xml:id="function.mysql-connect"  xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>mysql_connect</refname>
  <refpurpose>Abre una conexión al servidor MySQL</refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>resource</type><methodname>mysql_connect</methodname>
   <methodparam  choice="opt"><type>string</type><parameter>server</parameter><initializer>ini_get("mysql.default_host")</initializer></methodparam>
   <methodparam choice="opt"><type>string</type><parameter>username</parameter><initializer>ini_get("mysql.default_user")</initializer></methodparam>
   <methodparam choice="opt"><type>string</type><parameter>password</parameter><initializer>ini_get("mysql.default_password")</initializer></methodparam>
   <methodparam choice="opt"><type>bool</type><parameter>new_link</parameter><initializer>false</initializer></methodparam>
   <methodparam  choice="opt"><type>int</type><parameter>client_flags</parameter><initializer>0</initializer></methodparam>
  </methodsynopsis>
  <para>
   Abre o reutiliza una conexión a un servidor MySQL.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>server</parameter></term>
     <listitem>
      <para>
       El servidor MySQL. También se puede incluir un número de puerto. Ej.  
       "nombredehost:puerto" o una ruta a una toma local ejemplo ":/ruta/ala/toma" para
       el servidor local.
      </para>
      <para>
       Si la directiva PHP <link linkend="ini.mysql.default-host">
       mysql.default_host</link> no está definida (por defecto), el valor por
       defecto es 'localhost:3306'. En &sqlsafemode;, éste parámetro es ignorado
       y el valor 'localhost:3306' es siempre usado.
       </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>username</parameter></term>
     <listitem>
      <para>
       El nombre de usuario. El valor por defecto es definido por <link
       linkend="ini.mysql.default-user">mysql.default_user</link>. En
       &sqlsafemode;, éste parámetro es ignorado y el nombre de usuario que
       posee el proceso del servidor es usado.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>password</parameter></term>
     <listitem>
      <para>
       La contraseña. El valor por defecto es definido por <link
       linkend="ini.mysql.default-password">mysql.default_password</link>. En
       &sqlsafemode;, éste parámetro es ignorado y la contraseña vacía es usada.
      </para>
     </listitem>
    </varlistentry>   
    <varlistentry>
     <term><parameter>new_link</parameter></term>
     <listitem>
      <para>
       Si se realiza una segunda llamada <function>mysql_connect</function>
       con los mismos argumentos, un nuevo enlace no será establecido, en
       lugar, el identificador de enlace del enlace ya abierto  será
       devuelto. El parámetro <parameter>new_link</parameter> modifica éste
       comportamiento y crea <function>mysql_connect</function> siempre un  nuevo
       enlace abierto, aun si <function>mysql_connect</function> fue llamada
       antes con los mismos parámetros.
       En &sqlsafemode;, éste parámetro es ignorado.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>client_flags</parameter></term>
     <listitem>
      <para>
       El parámetro <parameter>client_flags</parameter> puede ser una combinación
       de las siguientes constantes:
       128 (permiten <literal>LOAD DATA  LOCAL</literal> manejo),
       <constant>MYSQL_CLIENT_SSL</constant>,
       <constant>MYSQL_CLIENT_COMPRESS</constant>,
       <constant>MYSQL_CLIENT_IGNORE_SPACE</constant> o
       <constant>MYSQL_CLIENT_INTERACTIVE</constant>.
       Lea la sección  acerca de <xref linkend="mysql.client-flags"  /> para más información.
       En &sqlsafemode;, éste parámetro es ignorado.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Devuelve un identificador de enlace a MySQL en caso de éxito&return.falseforfailure;.
  </para>
 </refsect1>

 <refsect1 role="changelog">
  &reftitle.changelog;
  <para>
   <informaltable>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>&Version;</entry>
       <entry>&Description;</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>4.3.0</entry>
       <entry>
        Añadido el parámetro <parameter>client_flags</parameter>.
       </entry>
      </row>
      <row>
       <entry>4.2.0</entry>
       <entry>
        Añadido el parámetro <parameter>new_link</parameter>.
       </entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Ejemplo de <function>mysql_connect</function></title>
    <programlisting  role="php">
<![CDATA[
<?php
$link =  mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado  satisfactoriamente';
mysql_close($link);
?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   <example>
    <title>Ejemplo usando la sintaxis <literal>hostname:port</literal> de <function>mysql_connect</function></title>
    <programlisting role="php">
<![CDATA[
<?php
// nos conectamos a example.com y al puerto 3307
$link = mysql_connect('example.com:3307',  'mysql_user', 'mysql_password');
if  (!$link) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);

// nos conectamos a example.com y al puerto 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user',  'mysql_password');
if (!$link) {
    die('No pudo  conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);
?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   <example>
    <title><function>mysql_connect</function>ejemplo usando la sintaxis ":/path/to/socket"</title>
    <programlisting  role="php">
<![CDATA[
<?php
// nos conectamos a localhost y a la toma ej. /tmp/mysql.sock

// variante 1: omitir el localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user',  'mysql_password');
if (!$link) {
    die('No pudo  conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($link);


// variante 2: con localhost
$link = mysql_connect('localhost:/tmp/mysql.sock',  'mysql_user', 'mysql_password');
if  (!$link) {
    die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado  satisfactoriamente';
mysql_close($link);
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

 <refsect1 role="notes">
  &reftitle.notes;
  <note>
   <para>
    Siempre que se especifique a &quot;localhost&quot; o
    &quot;localhost:port&quot; como  servidor, la biblioteca de MySQL del cliente
    invalidara esto y intentara conectarse a una toma local (llamada tubería en
    Windows). Si tu quieres usar TCP/IP, usa &quot;127.0.0.1&quot;
    en lugar de &quot;localhost&quot;. Si la  biblioteca de MySQL del cliente intenta
    conectar a una  incorrecta toma local, deberías colocar una ruta correcta como
    <xref linkend="ini.mysql.default-host"  /> en tu configuración de PHP y dejando el campo del servidor en
    blanco.
   </para>
  </note>
  <note>
   <para>
    El enlace al servidor se cerrara tan pronto finalice  la ejecución
    del script, a menos que se cierre antes por una llamada explicita a
    <function>mysql_close</function>.
   </para>
  </note>
  <note>
   <para>
    Se Puede suprimir los mensajes de error en caso de fallo anteponiendo  
    un <link linkend="language.operators.errorcontrol">@</link>
    a la función del nombre.
   </para>
  </note>
  <note>
   <para>
    El error "Can't create TCP/IP socket (10106)" usualmente significa que la <link
    linkend="ini.variables-order">variables_order</link> configuración directiva
    no contiene carácter <literal>E</literal>. En Windows, si el
    ambiente no es copiado la variable <literal>SYSTEMROOT</literal> de ambiente no
    va  a estar disponible y el PHP tendrá problemas de carga con la toma de  Windows.
   </para>
  </note>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>mysql_pconnect</function></member>
    <member><function>mysql_close</function></member>
   </simplelist>
  </para>
 </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:"~/.phpdoc/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
-->
​
