mirror of
https://github.com/php/doc-es.git
synced 2026-03-24 07:22:16 +01:00
194 lines
6.4 KiB
XML
194 lines
6.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 3c1bec9d700807df36994cf368ba291214cd424d Maintainer: PhilDaiguille Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<reference xml:id="ref.pdo-mysql" xmlns="http://docbook.org/ns/docbook">
|
|
<?phpdoc extension-membership="bundledexternal" ?>
|
|
<title>Funciones del controlador PDO MySQL (PDO_MYSQL)</title>
|
|
<titleabbrev>Controlador PDO MySQL</titleabbrev>
|
|
<partintro>
|
|
|
|
<section xml:id="ref.pdo-mysql.intro">
|
|
&reftitle.intro;
|
|
<para>
|
|
PDO_MYSQL es un controlador que implementa la <link
|
|
linkend="intro.pdo">interfaz de PHP Data Objects (PDO)</link> para
|
|
permitir el acceso de PHP a las bases de datos MySQL.
|
|
</para>
|
|
<para>
|
|
PDO_MYSQL utiliza consultas preparadas emuladas por omisión.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis role="bold">MySQL 8</emphasis>
|
|
</para>
|
|
|
|
<para>
|
|
Si PHP se utiliza en una versión 7.1 anterior a la versión 7.1.16, o PHP 7.2 anterior a 7.2.4,
|
|
el complemento de contraseña debe establecerse en
|
|
<emphasis>mysql_native_password</emphasis> para MySQL 8 Server, ya que de lo contrario pueden aparecer
|
|
errores similares a <emphasis>The server requested authentication method
|
|
unknown to the client [caching_sha2_password]</emphasis>,
|
|
incluso si <emphasis>caching_sha2_password</emphasis> no se utiliza.
|
|
</para>
|
|
<para>
|
|
Esto se debe a que MySQL 8 utiliza por omisión caching_sha2_password,
|
|
un complemento que no es reconocido por las versiones antiguas de PHP (mysqlnd).
|
|
En su lugar, debe modificarse el parámetro
|
|
<literal>default_authentication_plugin=mysql_native_password</literal> en
|
|
<filename>my.cnf</filename>. El complemento <emphasis>caching_sha2_password</emphasis>
|
|
es completamente soportado a partir de PHP 7.4.4. Para versiones anteriores,
|
|
la extensión <link linkend="book.mysql-xdevapi">mysql_xdevapi</link> lo soporta.
|
|
</para>
|
|
|
|
<warning>
|
|
<para>
|
|
Tenga en cuenta: ciertos tipos de tablas MySQL (motor de registro)
|
|
no soportan transacciones. Cuando se escribe código de base de datos
|
|
transaccional utilizando un tipo de tabla que no soporta transacciones,
|
|
MySQL afirmará que una transacción fue iniciada correctamente. Además,
|
|
cualquier consulta DLL publicada enviará implícitamente todas las transacciones pendientes.
|
|
</para>
|
|
</warning>
|
|
|
|
<note>
|
|
<para>
|
|
El controlador MySQL no soporta adecuadamente <constant>PDO::PARAM_INPUT_OUTPUT</constant>
|
|
a través de <methodname>PDOStatement::bindParam</methodname>; aunque tales
|
|
parámetros pueden ser utilizados, no serán actualizados
|
|
(es decir, la salida actual es ignorada).
|
|
</para>
|
|
</note>
|
|
</section>
|
|
&reference.pdo-mysql.configure;
|
|
&reference.pdo-mysql.constants;
|
|
&reference.pdo-mysql.ini;
|
|
</partintro>
|
|
|
|
<refentry xml:id="ref.pdo-mysql.connection">
|
|
<refnamediv>
|
|
<refname>PDO_MYSQL DSN</refname>
|
|
<refpurpose>Conexión a las bases de datos MySQL</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<para>
|
|
El Data Source Name (DSN) de PDO_MYSQL se compone de los siguientes elementos:
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Prefijo DSN</term>
|
|
<listitem>
|
|
<para>
|
|
El prefijo DSN es <userinput>mysql:</userinput>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>host</literal></term>
|
|
<listitem>
|
|
<para>
|
|
El host donde se encuentra el servidor de base de datos.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>port</literal></term>
|
|
<listitem>
|
|
<para>
|
|
El número de puerto donde el servidor de base de datos está escuchando.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>dbname</literal></term>
|
|
<listitem>
|
|
<para>
|
|
El nombre de la base de datos.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>unix_socket</literal></term>
|
|
<listitem>
|
|
<para>
|
|
El socket Unix de MySQL (no debe utilizarse con
|
|
<literal>host</literal> o <literal>port</literal>).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>charset</literal></term>
|
|
<listitem>
|
|
<para>
|
|
El juego de caracteres. Consulte la documentación sobre los conceptos
|
|
<link linkend="mysqlinfo.concepts.charset">de los juegos de caracteres</link>
|
|
para obtener más información.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Ejemplos con el DSN de PDO_MYSQL</title>
|
|
<para>
|
|
El siguiente ejemplo muestra el DSN PDO_MYSQL para conectarse a las bases
|
|
de datos MySQL:
|
|
<programlisting>
|
|
<![CDATA[
|
|
mysql:host=localhost;dbname=testdb
|
|
]]>
|
|
</programlisting>
|
|
Ejemplos más completos:
|
|
<programlisting>
|
|
<![CDATA[
|
|
mysql:host=localhost;port=3307;dbname=testdb
|
|
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
<note>
|
|
<title>Solo Unix:</title>
|
|
<para>
|
|
Cuando el nombre de host es <literal>"localhost"</literal>, la conexión se realiza a través de un socket
|
|
Unix. Si PDO_MYSQL está compilado con <literal>libmysqlclient</literal>, entonces el archivo de socket es el especificado durante
|
|
la compilación de <literal>libmysqlclient</literal>. Si PDO_MYSQL está compilado con <literal>mysqlnd</literal>, un socket por omisión puede ser
|
|
indicado a través del parámetro <link linkend="ini.pdo-mysql.default-socket">pdo_mysql.default_socket</link>.
|
|
</para>
|
|
</note>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
</reference>
|
|
|
|
<!-- 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
|
|
-->
|