mirror of
https://github.com/php/doc-ru.git
synced 2025-07-24 09:59:46 +00:00
Обновление раздела PDO (#1020)
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 9ed2d17d581d2c72282dee0b9be3b5a49dabf108 Maintainer: rjhdby Status: ready -->
|
||||
<!-- EN-Revision: 70ef72d94f4d5c7d7ec7492e97563d2463d56d14 Maintainer: rjhdby Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<section xml:id="ref.pdo-mysql.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
&reftitle.install;
|
||||
@ -45,7 +45,8 @@ $ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock
|
||||
</screen>
|
||||
</para>
|
||||
<para>
|
||||
Поддержка SSL включается, используя соответствующую <link linkend="pdo-mysql.constants">константу PDO_MySQL</link>,
|
||||
Поддержка <acronym>SSL</acronym> включается, используя соответствующую
|
||||
константу <constant>Pdo\Mysql::ATTR_SSL_<replaceable>*</replaceable></constant>,
|
||||
которая эквивалентна вызову <link xlink:href="&url.mysql.docs.ssl.set;">API MySQL-функции mysql_ssl_set() в C</link>.
|
||||
К тому же SSL не может быть включён с помощью <classname>PDO::setAttribute</classname>, потому что соединение
|
||||
уже существует. Смотрите документацию MySQL о <link xlink:href="&url.mysql.docs.ssl.using;">подключении к
|
||||
|
@ -1,42 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 71db1981e4ac6013592a0cad325f0136f9d57e21 Maintainer: mch Status: ready -->
|
||||
<!-- EN-Revision: b2a7a5fab7231fa8634096f111ae0fa0dc60bcfe Maintainer: mch Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<section xml:id="pdo-mysql.constants" xmlns="http://docbook.org/ns/docbook">
|
||||
<section xml:id="ref.pdo-mysql.constants" xmlns="http://docbook.org/ns/docbook">
|
||||
&reftitle.constants;
|
||||
&pdo.driver-constants;
|
||||
<variablelist>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-use-buffered-query">
|
||||
<term>
|
||||
<constant>PDO::MYSQL_ATTR_USE_BUFFERED_QUERY</constant>
|
||||
(<type>bool</type>)
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
По умолчанию запросы выполняются
|
||||
в <link linkend="mysqlinfo.concepts.buffering">буферизованном режиме</link>.
|
||||
Драйвер MySQL будет использовать небуферизованный режим,
|
||||
если для объекта <classname>PDO</classname>
|
||||
значение этого атрибута установить как &false;.
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_USE_BUFFERED_QUERY</constant>
|
||||
</simpara>
|
||||
<para>
|
||||
<example><title>Установка небуферизованного режима MySQL</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
$pdo = new PDO("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>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-local-infile">
|
||||
@ -45,47 +22,32 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Включить <literal>LOAD LOCAL INFILE</literal>.
|
||||
</para>
|
||||
<para>
|
||||
Обратите внимание, что эту константу можно использовать только
|
||||
в массиве <parameter>driver_options</parameter> при создании
|
||||
дескриптора новой базы данных.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_LOCAL_INFILE</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-local-infile-directory">
|
||||
<term>
|
||||
<constant>PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY</constant>
|
||||
(<type>string</type>)
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Позволяет ограничить загрузку LOCAL DATA файлами, расположенными в указанном
|
||||
каталоге. Доступно, начиная с версии PHP 8.1.0.
|
||||
</para>
|
||||
<para>
|
||||
Обратите внимание, что эта константа может использоваться только в массиве <parameter>driver_options</parameter>
|
||||
при создании нового дескриптора базы данных.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY</constant>.
|
||||
Константа доступна с PHP 8.1.0.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-init-command">
|
||||
<term>
|
||||
<constant>PDO::MYSQL_ATTR_INIT_COMMAND</constant>
|
||||
(<type>string</type>)
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Команда, которую необходимо выполнить при подключении к MySQL-серверу.
|
||||
Также будет автоматически выполнена при переподключении.
|
||||
</para>
|
||||
<para>
|
||||
Обратите внимание, что эта константа может быть использована только
|
||||
в массиве <parameter>driver_options</parameter> при создании
|
||||
дескриптора новой базы данных.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_INIT_COMMAND</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-read-default-file">
|
||||
@ -94,11 +56,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Чтение именованных параметров из файла <filename>my.cnf</filename>.
|
||||
Эта опция недоступна, если используется mysqlnd, потому что
|
||||
mysqlnd не читает файлы конфигурации MySQL.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_READ_DEFAULT_FILE</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-read-default-group">
|
||||
@ -107,12 +67,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Чтение именованной группы параметров из файла <filename>my.cnf</filename>
|
||||
или из файла, определённого в константе <constant>MYSQL_READ_DEFAULT_FILE</constant>.
|
||||
Эта опция недоступна, если используется mysqlnd, потому что
|
||||
mysqlnd не читает файлы конфигурации MySQL.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_READ_DEFAULT_GROUP</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-max-buffer-size">
|
||||
@ -121,11 +78,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Максимальный размер буфера. По умолчанию равен 1 Мб.
|
||||
Эта константа не поддерживается при компиляции вместе
|
||||
с mysqlnd.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_MAX_BUFFER_SIZE</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-direct-query">
|
||||
@ -134,10 +89,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Выполнять прямые запросы, не использовать
|
||||
подготовленные конструкции.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>PDO::ATTR_EMULATE_PREPARES</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-found-rows">
|
||||
@ -146,10 +100,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Возвращает количество найденных (совпавших) строк, а
|
||||
не количество изменённых строк.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_FOUND_ROWS</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-ignore-space">
|
||||
@ -158,10 +111,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Разрешает пробелы после имён функций.
|
||||
Делает все имена функций зарезервированными словами.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_IGNORE_SPACE</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-compress">
|
||||
@ -170,9 +122,21 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Включить сжатие сетевого соединения.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_COMPRESS</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-server-public-key">
|
||||
<term>
|
||||
<constant>PDO::MYSQL_ATTR_SERVER_PUBLIC_KEY</constant>
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -182,9 +146,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Путь к файлу сертификата SSL.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CA</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -194,10 +158,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Путь к директории, которая содержит SSL-сертификаты доверенных центров (CA),
|
||||
хранящиеся в формате <acronym>PEM</acronym>.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CAPATH</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -207,9 +170,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Путь к файлу с SSL-сертификатом.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CERT</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -219,10 +182,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Список из одного или более допустимых шифров для использования в SSL-шифровании в формате,
|
||||
который понимает OpenSSL. Например: <literal>DHE-RSA-AES256-SHA:AES128-SHA</literal>
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CIPHER</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -232,9 +194,9 @@ foreach ($unbufferedResult as $row) {
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Путь к файлу с ключом SSL.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SSL_KEY</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -242,38 +204,30 @@ foreach ($unbufferedResult as $row) {
|
||||
<term>
|
||||
<constant>PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT</constant>
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Предлагает способ отключения проверки SSL-сертификата сервера.
|
||||
Эта опция доступна только с драйвером mysqlnd.
|
||||
</para>
|
||||
<para>
|
||||
&version.exists.asof; 7.0.18 и PHP 7.1.4.
|
||||
</para>
|
||||
</listitem>
|
||||
</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT</constant>
|
||||
Константа доступна с PHP 7.0.18 и PHP 7.1.4.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
<varlistentry xml:id="pdo.constants.mysql-attr-multi-statements">
|
||||
<term>
|
||||
<constant>PDO::MYSQL_ATTR_MULTI_STATEMENTS</constant>
|
||||
(<type>int</type>)
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Если установлено как &false;, запрещает запуск множественных запросов,
|
||||
как для <function>PDO::prepare</function>, так и для <function>PDO::query</function>.
|
||||
</para>
|
||||
<para>
|
||||
Обратите внимание, что эта константа может быть использована только
|
||||
в массиве <parameter>driver_options</parameter> при создании нового
|
||||
дескриптора БД.
|
||||
</para>
|
||||
<simpara>
|
||||
&Alias; <constant>Pdo\Mysql::ATTR_MULTI_STATEMENTS</constant>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</section><!-- Keep this comment at the end of the file
|
||||
</section>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
|
@ -1,178 +1,180 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: ed851c6bbc75edca2706ea43f224278dd0538a6f Maintainer: rjhdby Status: ready -->
|
||||
<!-- EN-Revision: 70ef72d94f4d5c7d7ec7492e97563d2463d56d14 Maintainer: rjhdby Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<reference xml:id="ref.pdo-mysql" xmlns="http://docbook.org/ns/docbook">
|
||||
<?phpdoc extension-membership="bundledexternal" ?>
|
||||
<title>Драйвер PDO_MYSQL: функции БД MySQL</title>
|
||||
<titleabbrev>MySQL</titleabbrev>
|
||||
<partintro>
|
||||
<reference xml:id="ref.pdo-mysql" xmlns="http://docbook.org/ns/docbook">
|
||||
<?phpdoc extension-membership="bundledexternal" ?>
|
||||
<title>Драйвер PDO_MYSQL: функции БД MySQL</title>
|
||||
<titleabbrev>MySQL</titleabbrev>
|
||||
<partintro>
|
||||
|
||||
<section xml:id="pdo-mysql.intro">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
PDO_MYSQL — драйвер, через который PHP получает доступ к базам данных MySQL.
|
||||
Для этого драйвер реализует интерфейс модуля <link linkend="intro.pdo">PDO</link>.
|
||||
</para>
|
||||
<para>
|
||||
Драйвер PDO_MYSQL по умолчанию использует эмулированную подготовку.
|
||||
</para>
|
||||
<section xml:id="ref.pdo-mysql.intro">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
PDO_MYSQL — драйвер, через который PHP получает доступ к базам данных MySQL.
|
||||
Для этого драйвер реализует интерфейс модуля <link linkend="intro.pdo">PDO</link>.
|
||||
</para>
|
||||
<para>
|
||||
Драйвер PDO_MYSQL по умолчанию использует эмулированную подготовку.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<emphasis role="bold">MySQL 8</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="bold">MySQL 8</emphasis>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
При запуске PHP до версии 7.1.16 или PHP с версии 7.2 до версии 7.2.4
|
||||
в качестве плагина шифрования паролей по умолчанию для сервера MySQL 8 устанавливают
|
||||
<emphasis>mysql_native_password</emphasis>, иначе выдаётся ошибка наподобие
|
||||
<emphasis>The server requested authentication method unknown to the client [caching_sha2_password]</emphasis>,
|
||||
даже когда плагин <emphasis>caching_sha2_password</emphasis> не задали.
|
||||
</para>
|
||||
<para>
|
||||
Причина этого состоит в том, что на сервере MySQL 8
|
||||
в качестве плагина по умолчанию указан caching_sha2_password,
|
||||
который не распознаётся старыми выпусками PHP (драйвером mysqlnd).
|
||||
Вместо него в файле конфигурации сервера <filename>my.cnf</filename> указывают —
|
||||
<literal>default_authentication_plugin=mysql_native_password</literal>.
|
||||
Плагин <emphasis>caching_sha2_password</emphasis>
|
||||
получил полную поддержку начиная с PHP 7.4.4. В предыдущих версиях PHP
|
||||
его поддерживает модуль <link linkend="book.mysql-xdevapi">mysql_xdevapi</link>.
|
||||
</para>
|
||||
<para>
|
||||
При запуске PHP до версии 7.1.16 или PHP с версии 7.2 до версии 7.2.4
|
||||
в качестве плагина шифрования паролей по умолчанию для сервера MySQL 8 устанавливают
|
||||
<emphasis>mysql_native_password</emphasis>, иначе выдаётся ошибка наподобие
|
||||
<emphasis>The server requested authentication method unknown to the client [caching_sha2_password]</emphasis>,
|
||||
даже когда плагин <emphasis>caching_sha2_password</emphasis> не задали.
|
||||
</para>
|
||||
<para>
|
||||
Причина этого состоит в том, что на сервере MySQL 8
|
||||
в качестве плагина по умолчанию указан caching_sha2_password,
|
||||
который не распознаётся старыми выпусками PHP (драйвером mysqlnd).
|
||||
Вместо него в файле конфигурации сервера <filename>my.cnf</filename> указывают —
|
||||
<literal>default_authentication_plugin=mysql_native_password</literal>.
|
||||
Плагин <emphasis>caching_sha2_password</emphasis>
|
||||
получил полную поддержку начиная с PHP 7.4.4. В предыдущих версиях PHP
|
||||
его поддерживает модуль <link linkend="book.mysql-xdevapi">mysql_xdevapi</link>.
|
||||
</para>
|
||||
|
||||
<warning>
|
||||
<warning>
|
||||
<para>
|
||||
Осторожно: MySQL-таблицы подсистемы хранения данных не поддерживают транзакции.
|
||||
БД MySQL сделает вид, что транзакция успешно началась,
|
||||
если в коде, который работает с транзакционной базой данных,
|
||||
указали таблицу, которая не поддерживает транзакции.
|
||||
Кроме того, каждый выполненный DDL-запрос
|
||||
будет неявно фиксировать незавершённые транзакции — то есть завершать открытые транзакции
|
||||
и выполнять стек незавершённых запросов.
|
||||
</para>
|
||||
</warning>
|
||||
<note>
|
||||
<para>
|
||||
Драйвер MySQL неправильно обрабатывает бит <constant>PDO::PARAM_INPUT_OUTPUT</constant>
|
||||
в методе <methodname>PDOStatement::bindParam</methodname>;
|
||||
хотя такие параметры и разрешается указывать,
|
||||
они не обновляются (т. е. фактический вывод игнорируется).
|
||||
</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>DSN-строка подключения через драйвер PDO_MYSQL</refname>
|
||||
<refpurpose>Соединение с базой данных MySQL</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<para>
|
||||
DSN-строка подключения (англ. сокр.: Data Source Name — имя источника данных)
|
||||
для драйвера PDO_SQLSRV состоит из следующих элементов:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>DSN-префикс</term>
|
||||
<listitem>
|
||||
<para>
|
||||
DSN-префикс — строка <userinput>mysql:</userinput>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>host</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Имя хоста сервера баз данных.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>port</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Номер порта, который слушает сервер баз данных.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>dbname</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Имя базы данных.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>unix_socket</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Unix-сокет БД MySQL. Сокет нельзя указывать вместе с аргументом
|
||||
<literal>host</literal> или <literal>port</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>charset</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Кодировка. Дополнительную информацию даёт раздел
|
||||
«<link linkend="mysqlinfo.concepts.charset">Кодировки</link>».
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title>Примеры DSN-строк подключения через драйвер PDO_MYSQL</title>
|
||||
<para>
|
||||
Осторожно: MySQL-таблицы подсистемы хранения данных не поддерживают транзакции.
|
||||
БД MySQL сделает вид, что транзакция успешно началась,
|
||||
если в коде, который работает с транзакционной базой данных,
|
||||
указали таблицу, которая не поддерживает транзакции.
|
||||
Кроме того, каждый выполненный DDL-запрос
|
||||
будет неявно фиксировать незавершённые транзакции — то есть завершать открытые транзакции
|
||||
и выполнять стек незавершённых запросов.
|
||||
</para>
|
||||
</warning>
|
||||
<note>
|
||||
<para>
|
||||
Драйвер MySQL неправильно обрабатывает бит <constant>PDO::PARAM_INPUT_OUTPUT</constant>
|
||||
в методе <methodname>PDOStatement::bindParam</methodname>;
|
||||
хотя такие параметры и разрешается указывать,
|
||||
они не обновляются (т. е. фактический вывод игнорируется).
|
||||
</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>DSN-строка подключения через драйвер PDO_MYSQL</refname>
|
||||
<refpurpose>Соединение с базой данных MySQL</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<para>
|
||||
DSN-строка подключения (англ. сокр.: Data Source Name — имя источника данных)
|
||||
для драйвера PDO_SQLSRV состоит из следующих элементов:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>DSN-префикс</term>
|
||||
<listitem>
|
||||
<para>
|
||||
DSN-префикс — строка <userinput>mysql:</userinput>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>host</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Имя хоста сервера баз данных.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>port</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Номер порта, который слушает сервер баз данных.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>dbname</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Имя базы данных.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>unix_socket</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Unix-сокет БД MySQL. Сокет нельзя указывать вместе с аргументом
|
||||
<literal>host</literal> или <literal>port</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>charset</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Кодировка. Дополнительную информацию даёт раздел
|
||||
«<link linkend="mysqlinfo.concepts.charset">Кодировки</link>».
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title>Примеры DSN-строк подключения через драйвер PDO_MYSQL</title>
|
||||
<para>
|
||||
Следующий пример показывает DSN-строку подключения через драйвер PDO_MYSQL
|
||||
для соединения с базой данных MySQL:
|
||||
<programlisting>
|
||||
Следующий пример показывает DSN-строку подключения через драйвер PDO_MYSQL
|
||||
для соединения с базой данных MySQL:
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
mysql:host=localhost;dbname=testdb
|
||||
]]>
|
||||
</programlisting>
|
||||
Более полные примеры:
|
||||
<programlisting>
|
||||
</programlisting>
|
||||
Более полные примеры:
|
||||
<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:</title>
|
||||
<para>
|
||||
Соединение с сервером выполняется через сокет домена,
|
||||
если имя хоста установили как <literal>"localhost"</literal>.
|
||||
Файла сокета будет лежать в каталоге, в котором скомпилировали клиент libmysqlclient,
|
||||
если драйвер PDO_MYSQL скомпилировали с библиотекой libmysqlclient.
|
||||
Установка сокета по умолчанию будет доступна через директиву
|
||||
<link linkend="ini.pdo-mysql.default-socket">pdo_mysql.default_socket</link>,
|
||||
если драйвер PDO_MYSQL скомпилировали с драйвером mysqlnd.
|
||||
</programlisting>
|
||||
</para>
|
||||
</note>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</reference><!-- Keep this comment at the end of the file
|
||||
<refsect1 role="notes">
|
||||
&reftitle.notes;
|
||||
<note>
|
||||
<title>Только Unix:</title>
|
||||
<para>
|
||||
Соединение с сервером выполняется через сокет домена,
|
||||
если имя хоста установили как <literal>"localhost"</literal>.
|
||||
Файла сокета будет лежать в каталоге, в котором скомпилировали клиент libmysqlclient,
|
||||
если драйвер PDO_MYSQL скомпилировали с библиотекой libmysqlclient.
|
||||
Установка сокета по умолчанию будет доступна через директиву
|
||||
<link linkend="ini.pdo-mysql.default-socket">pdo_mysql.default_socket</link>,
|
||||
если драйвер PDO_MYSQL скомпилировали с драйвером mysqlnd.
|
||||
</para>
|
||||
</note>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
</reference>
|
||||
&reference.pdo-mysql.pdo-mysql;
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
|
Reference in New Issue
Block a user