mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-26 09:52:17 +01:00
196 lines
6.4 KiB
XML
196 lines
6.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 54217f14f9ddeb734c7d439f44ce7491f66cc587 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<reference xml:id="ref.pdo-mysql" xmlns="http://docbook.org/ns/docbook">
|
|
<?phpdoc extension-membership="bundledexternal" ?>
|
|
<title>Fonctions MySQL (PDO_MYSQL)</title>
|
|
<titleabbrev>MySQL (PDO)</titleabbrev>
|
|
<partintro>
|
|
|
|
<section xml:id="pdo-mysql.intro">
|
|
&reftitle.intro;
|
|
<para>
|
|
PDO_MYSQL est un pilote qui implémente l'<link
|
|
linkend="intro.pdo">interface de PHP Data Objects (PDO)</link> pour
|
|
autoriser l'accès de PHP aux bases de données MySQL.
|
|
</para>
|
|
<para>
|
|
PDO_MYSQL utilises des requêtes préparées émulées par défaut.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis role="bold">MySQL 8</emphasis>
|
|
</para>
|
|
|
|
<para>
|
|
Si PHP est utilisé dans une version 7.1 antérieure à la version 7.1.16, ou PHP 7.2 antérieure à 7.2.4,
|
|
le plugin de mot de passe doit être défini à
|
|
<emphasis>mysql_native_password</emphasis> pour MySQL 8 Server, car sinon des
|
|
erreurs similaires à <emphasis>The server requested authentication method
|
|
unknown to the client [caching_sha2_password]</emphasis> peuvent apparaitre,
|
|
même si <emphasis>caching_sha2_password</emphasis> n'est pas utilisé.
|
|
</para>
|
|
<para>
|
|
Ceci est dû au fait que MySQL 8 utilise par défaut caching_sha2_password,
|
|
un plugin qui n'est pas reconnu par les anciennes versions de PHP (mysqlnd).
|
|
À la place il faut modifier le paramètre
|
|
<literal>default_authentication_plugin=mysql_native_password</literal> dans
|
|
<filename>my.cnf</filename>. Le plugin <emphasis>caching_sha2_password</emphasis>
|
|
sera supporté dans une version future de PHP. En attendant, l'extension
|
|
<link linkend="book.mysql-xdevapi">mysql_xdevapi</link> le supporte.
|
|
</para>
|
|
|
|
<warning>
|
|
<para>
|
|
Prendre garde toutefois : certains types de tables MySQL (moteur d'enregistrement)
|
|
ne supportent pas les transactions. Lorsque vous écrivez du code de base
|
|
de données transactionnel en utilisant un type de table qui ne supporte
|
|
pas les transactions, MySQL prétendra qu'une transaction était initiée
|
|
correctement. De plus, toute requête DLL publiée enverra implicitement
|
|
l'ensemble des transactions en attente.
|
|
</para>
|
|
</warning>
|
|
|
|
<note>
|
|
<para>
|
|
Le pilote MySQL ne supporte pas proprement <constant>PDO::PARAM_INPUT_OUTPUT</constant>
|
|
via <methodname>PDOStatement::bindParam</methodname>; tandis que de tel
|
|
paramètres peuvent être utilisé, il ne seront pas mis à jour
|
|
(c.à.d. la sortie actuel est ignoré).
|
|
</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>Connexion aux bases de données MySQL</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<para>
|
|
Le Data Source Name (DSN) de PDO_MYSQL est composé des éléments suivants :
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Préfixe DSN</term>
|
|
<listitem>
|
|
<para>
|
|
Le préfixe DSN est <userinput>mysql:</userinput>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>host</literal></term>
|
|
<listitem>
|
|
<para>
|
|
L'hôte sur lequel le serveur de base de données se situe.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>port</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Le numéro de port où le serveur de base de données est en train
|
|
d'écouter.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>dbname</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Le nom de la base de données.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>unix_socket</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Le socket Unix MySQL (ne devrait pas être utilisé avec
|
|
<literal>host</literal> ou <literal>port</literal>).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><literal>charset</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Le jeu de caractères. Voir la documentation sur les concepts
|
|
<link linkend="mysqlinfo.concepts.charset">des jeux de caractères</link>
|
|
pour plus d'informations.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Exemples avec le DSN de PDO_MYSQL</title>
|
|
<para>
|
|
L'exemple suivant montre le DSN PDO_MYSQL pour se connecter aux bases
|
|
de données MySQL :
|
|
<programlisting>
|
|
<![CDATA[
|
|
mysql:host=localhost;dbname=testdb
|
|
]]>
|
|
</programlisting>
|
|
Exemples plus complets :
|
|
<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>Unix seulement:</title>
|
|
<para>
|
|
Lorsque le nom d'hôte est <literal>"localhost"</literal>, la connexion est faite par un socket
|
|
Unix. Si PDO_MYSQL est compilé avec <literal>libmysqlclient</literal>, alors le fichier de socket est celui précisé à la
|
|
compilation de <literal>libmysqlclient</literal>. Si PDO_MYSQL est compilé avec <literal>mysqlnd</literal>, un socket par défaut peut être
|
|
indiqué via la paramètre <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
|
|
-->
|