Files
php-doc-ru/reference/pdo_mysql/pdo-mysql.xml
2024-12-11 17:25:12 +03:00

473 lines
20 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b2a7a5fab7231fa8634096f111ae0fa0dc60bcfe Maintainer: malferov Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.pdo-mysql" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс Pdo\Mysql</title>
<titleabbrev>Pdo\Mysql</titleabbrev>
<partintro>
<!-- {{{ ClassName intro -->
<section xml:id="pdo-mysql.intro">
&reftitle.intro;
<simpara>
Этот <classname>PDO</classname>-подкласс представляет соединение с БД,
которое устанавливает и обслуживает MySQL-драйвер модуля PDO.
</simpara>
<para>
Драйвер поддерживает выделенный для диалекта СУБД MySQL парсер SQL-запросов.
Парсер умеет обрабатывать следующее:
<itemizedlist>
<listitem>
<simpara>
Литералы в одинарных и двойных кавычках с механизмом экранирования как путём удвоения кавычки,
так и путём добавления перед кавычкой обратного слеша
</simpara>
</listitem>
<listitem>
<simpara>
Литералы обратных кавычек, машинописных апострофов, с механизмом экранирования путём удвоения
</simpara>
</listitem>
<listitem>
<simpara>
Комментарии с двумя дефисами, символом решётки и комментарии в стиле языка C
</simpara>
</listitem>
</itemizedlist>
</para>
</section>
<!-- }}} -->
<section xml:id="pdo-mysql.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<classname>Pdo\Mysql</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>PDO</classname>
</ooclass>
<classsynopsisinfo role="comment">&InheritedConstants;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.pdo')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Constants;']]))">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-use-buffered-query">Pdo\Mysql::ATTR_USE_BUFFERED_QUERY</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-local-infile">Pdo\Mysql::ATTR_LOCAL_INFILE</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-local-infile-directory">Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-init-command">Pdo\Mysql::ATTR_INIT_COMMAND</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-max-buffer-size">Pdo\Mysql::ATTR_MAX_BUFFER_SIZE</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-read-default-file">Pdo\Mysql::ATTR_READ_DEFAULT_FILE</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-read-default-group">Pdo\Mysql::ATTR_READ_DEFAULT_GROUP</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-compress">Pdo\Mysql::ATTR_COMPRESS</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-direct-query">Pdo\Mysql::ATTR_DIRECT_QUERY</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-found-rows">Pdo\Mysql::ATTR_FOUND_ROWS</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ignore-space">Pdo\Mysql::ATTR_IGNORE_SPACE</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-multi-statements">Pdo\Mysql::ATTR_MULTI_STATEMENTS</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-server-public-key">Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ssl-key">Pdo\Mysql::ATTR_SSL_KEY</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ssl-cert">Pdo\Mysql::ATTR_SSL_CERT</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ssl-ca">Pdo\Mysql::ATTR_SSL_CA</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ssl-capath">Pdo\Mysql::ATTR_SSL_CAPATH</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ssl-cipher">Pdo\Mysql::ATTR_SSL_CIPHER</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-mysql.constants.attr-ssl-verify-server-cert">Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT</varname>
</fieldsynopsis>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.pdo-mysql')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='Pdo\\Mysql'])">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.pdo')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='PDO'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.pdo')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='PDO'])">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<section xml:id="pdo-mysql.constants">
&reftitle.constants;
<variablelist>
<varlistentry xml:id="pdo-mysql.constants.attr-use-buffered-query">
<term><constant>Pdo\Mysql::ATTR_USE_BUFFERED_QUERY</constant></term>
<listitem>
<simpara>
По умолчанию SQL-запросы выполняются
<link linkend="mysqlinfo.concepts.buffering">в режиме буферизации</link>.
MySQL-драйвер будет работать в режиме без буферизации,
если в объекте <classname>Pdo\Mysql</classname>
для атрибута установили значение &false;.
</simpara>
<example><title>Пример установки для MySQL-запросов небуферизованного режима</title>
<programlisting role="php">
<![CDATA[
<?php
$pdo = new Pdo\Mysql("mysql:host=localhost;dbname=world", 'my_user', 'my_password');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
$unbufferedResult = $pdo->query("SELECT Name FROM City");
foreach ($unbufferedResult as $row) {
echo $row['Name'] . PHP_EOL;
}
?>
]]>
</programlisting>
</example>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-local-infile">
<term><constant>Pdo\Mysql::ATTR_LOCAL_INFILE</constant></term>
<listitem>
<simpara>
Включает правило <literal>LOAD LOCAL INFILE</literal>.
</simpara>
<note>
<simpara>
Атрибут работает только в массиве параметров драйвера — <parameter>driver_options</parameter>,
когда создают новый дескриптор базы данных.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-local-infile-directory">
<term><constant>Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY</constant></term>
<listitem>
<simpara>
Разрешает ограничить для правила LOCAL DATA загрузку только из файлов
в заданном каталоге.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-init-command">
<term><constant>Pdo\Mysql::ATTR_INIT_COMMAND</constant></term>
<listitem>
<simpara>
Команда, которая автоматически выполняется при каждом подключении к MySQL-серверу.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-read-default-file">
<term><constant>Pdo\Mysql::ATTR_READ_DEFAULT_FILE</constant></term>
<listitem>
<simpara>
Считывает параметры из файла с заданным названием,
а не из файла <filename>my.cnf</filename>.
</simpara>
<note>
<simpara>
Атрибут недоступен при работе через драйвер mysqlnd,
потому что драйвер mysqlnd не считывает MySQL-файлы конфигурации.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-read-default-group">
<term><constant>Pdo\Mysql::ATTR_READ_DEFAULT_GROUP</constant></term>
<listitem>
<simpara>
Считывает параметры из группы параметров в файле <filename>my.cnf</filename>
или в файле, который указали в атрибуте
<constant>Pdo\Mysql::ATTR_READ_DEFAULT_FILE</constant>.
</simpara>
<note>
<simpara>
Атрибут недоступен при работе через драйвер mysqlnd,
потому что драйвер mysqlnd не считывает MySQL-файлы конфигурации.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-compress">
<term><constant>Pdo\Mysql::ATTR_COMPRESS</constant></term>
<listitem>
<simpara>
Включает сжатие данных при сетевом взаимодействии.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-direct-query">
<term><constant>Pdo\Mysql::ATTR_DIRECT_QUERY</constant></term>
<listitem>
<simpara>
&Alias; атрибута <constant>PDO::ATTR_EMULATE_PREPARES</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-found-rows">
<term><constant>Pdo\Mysql::ATTR_FOUND_ROWS</constant></term>
<listitem>
<simpara>
Возвращает количество строк, которые БД нашла, которые совпали,
а не которые изменились.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ignore-space">
<term><constant>Pdo\Mysql::ATTR_IGNORE_SPACE</constant></term>
<listitem>
<simpara>
Разрешает использовать пробелы после названий SQL-функций.
Делает названия SQL-функций зарезервированными словами.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-max-buffer-size">
<term><constant>Pdo\Mysql::ATTR_MAX_BUFFER_SIZE</constant></term>
<listitem>
<simpara>
Устанавливает максимальный размер буфера. Значение по умолчанию равно 1 МиБ — 1024 байтам.
</simpara>
<note>
<simpara>
Константа не поддерживается при компиляции с драйвером mysqlnd.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-multi-statements">
<term><constant>Pdo\Mysql::ATTR_MULTI_STATEMENTS</constant></term>
<listitem>
<simpara>
Со значением &false; атрибут отключает выполнение множественных запросов
в методах <methodname>PDO::prepare</methodname>
и <methodname>PDO::query</methodname>.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-server-public-key">
<term><constant>Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY</constant></term>
<listitem>
<simpara>
Указывает файл открытого <acronym>RSA</acronym>-ключа
для аутентификации на основе хеширования по алгоритму SHA-256.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ssl-key">
<term><constant>Pdo\Mysql::ATTR_SSL_KEY</constant></term>
<listitem>
<simpara>
Указывает путь к файлу с <acronym>SSL</acronym>-ключом.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ssl-cert">
<term><constant>Pdo\Mysql::ATTR_SSL_CERT</constant></term>
<listitem>
<simpara>
Указывает путь к файлу с <acronym>SSL</acronym>-сертификатом.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ssl-ca">
<term><constant>Pdo\Mysql::ATTR_SSL_CA</constant></term>
<listitem>
<simpara>
Указывает путь к файлу с <acronym>SSL</acronym>-сертификатом удостоверяющего центра.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ssl-capath">
<term><constant>Pdo\Mysql::ATTR_SSL_CAPATH</constant></term>
<listitem>
<simpara>
Указывает путь к каталогу, который содержит доверенные <acronym>CA</acronym>-сертификаты
в формате <acronym>PEM</acronym> для передачи данных по протоколу <acronym>SSL</acronym>.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ssl-cipher">
<term><constant>Pdo\Mysql::ATTR_SSL_CIPHER</constant></term>
<listitem>
<simpara>
Список из одного или нескольких названий допустимых алгоритмов <acronym>SSL</acronym>-шифрования
в формате, который понимает библиотека OpenSSL.
Например: <literal>DHE-RSA-AES256-SHA:AES128-SHA</literal>
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-mysql.constants.attr-ssl-verify-server-cert">
<term><constant>Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT</constant></term>
<listitem>
<simpara>
Разрешает отключать проверку <acronym>SSL</acronym>-сертификата сервера.
</simpara>
<note>
<simpara>
Атрибут доступен только при работе через драйвер mysqlnd.
</simpara>
</note>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('pdo-mysql.constants.attr-local-infile')//db:note/.)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
</variablelist>
</section>
</partintro>
&reference.pdo-mysql.pdo.entities.mysql;
</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
-->