Files
php-doc-ru/reference/mysql/functions/mysql-connect.xml
Shein Alexey 75d64ccdb8 Commited review by Sunny.
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@315053 c90b9560-bf6c-de11-be94-00142212c4b1
2011-08-17 10:37:59 +00:00

295 lines
11 KiB
XML
Raw 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: 0c95eb7e65a1bd2a4d9163d3769792b2b7a3e212 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.mysql-connect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_connect</refname>
<refpurpose>Открывает соединение с сервером 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>
Открывает новое соединение с сервером MySQL или использует
уже существующее.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>server</parameter></term>
<listitem>
<para>
Сервер MySQL. Может также включать номер порта, например,
"hostname:port" или путь к локальному сокету, например,
":/path/to/socket" для локального сервера.
</para>
<para>
Если PHP-директива <link linkend="ini.mysql.default-host">
mysql.default_host</link> не определена (по умолчанию), то
значением по умолчанию является 'localhost:3306'.
В &sqlsafemode; этот параметр игнорируется и всегда используется
значение 'localhost:3306'.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>username</parameter></term>
<listitem>
<para>
Имя пользователя. Значение по умолчанию определяется
директивой <link linkend="ini.mysql.default-user">mysql.default_user</link>.
В &sqlsafemode; этот параметр будет проигнорирован и будет
использован пользователь, владеющий процессом сервера.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>password</parameter></term>
<listitem>
<para>
Пароль. Значение по умолчанию определяется директивой
<link linkend="ini.mysql.default-password">mysql.default_password</link>.
В &sqlsafemode; этот параметр будет проигнорирован и в качестве
пароля будет использована пустая строка.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>new_link</parameter></term>
<listitem>
<para>
Если второй вызов функции <function>mysql_connect</function>
произошёл с теми же аргументами, то новое соединение не будет
установлено. Вместо этого функция вернёт ссылку
на уже установленное соединение. Параметр
<parameter>new_link</parameter> может заставить
функцию <function>mysql_connect</function> открыть ещё одно
соединение, даже если соединение с аналогичными параметрами
уже открыто.
В &sqlsafemode; этот параметр игнорируется.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>client_flags</parameter></term>
<listitem>
<para>
Параметр <parameter>client_flags</parameter> должен быть комбинацией из
следующих констант:
128 (включает обработку <literal>LOAD DATA LOCAL</literal>),
<constant>MYSQL_CLIENT_SSL</constant>,
<constant>MYSQL_CLIENT_COMPRESS</constant>,
<constant>MYSQL_CLIENT_IGNORE_SPACE</constant> or
<constant>MYSQL_CLIENT_INTERACTIVE</constant>.
Подробнее читайте в разделе <xref linkend="mysql.client-flags" />.
В &sqlsafemode; этот параметр игнорируется.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает дескриптор соединения с MySQL в случае успешного
выполнения&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>
Добавлен параметр <parameter>client_flags</parameter>.
</entry>
</row>
<row>
<entry>4.2.0</entry>
<entry>
Добавлен параметр <parameter>new_link</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>mysql_connect</function></title>
<programlisting role="php">
<![CDATA[
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Пример использования <function>mysql_connect</function> с синтаксисом <literal>hostname:port</literal></title>
<programlisting role="php">
<![CDATA[
<?php
// соединяемся с example.com на порту 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
// соединяемся с localhost на порту 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Пример использования <function>mysql_connect</function> с синтаксисом ":/path/to/socket"</title>
<programlisting role="php">
<![CDATA[
<?php
// соединяемся к localhost по сокету, т.е. /tmp/mysql.sock
// вариант 1: не указываем localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
// вариант 2: указываем localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
При указании параметру <parameter>server</parameter> значения
&quot;localhost&quot; или &quot;localhost:port&quot; клиентская
библиотека MySQL будет пытаться соединиться с локальным сокетом.
Если вы всё же хотите использовать TCP/IP, используйте адрес
&quot;127.0.0.1&quot; вместо &quot;localhost&quot;. Если
клиентская библиотека пытается подключиться не к тому
локальному сокету, это можно исправить через
указание директивы <xref linkend="ini.mysql.default-host" /> в
конфигурации PHP, после чего можно оставлять параметр
<parameter>server</parameter> пустым.
</para>
</note>
<note>
<para>
Соединение с сервером будет закрыто при завершении исполнения
скрипта, если только до этого оно не было закрыто с помощью
функции <function>mysql_close</function>.
</para>
</note>
<note>
<para>
Подавить вывод ошибок можно добавив
<link linkend="language.operators.errorcontrol">@</link> в начало
названия функции.
</para>
</note>
<note>
<para>
Ошибка "Can't create TCP/IP socket (10106)"
(Невозможно создать сокет TCP/IP) обычно означает, что
конфигурационная директива <link
linkend="ini.variables-order">variables_order</link>
не содержит символ <literal>E</literal>. В Windows, если в окружение
не будет скопирована переменная окружения
<literal>SYSTEMROOT</literal>, то PHP будет испытывать проблемы
при загрузке Winsock.
</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
-->