php-doc-en/reference/mysql/functions/mysql-pconnect.xml

206 lines
6.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.mysql-pconnect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_pconnect</refname>
<refpurpose>Open a persistent connection to a MySQL server</refpurpose>
</refnamediv>
<refsynopsisdiv role="soft-deprecation-notice">
<sidebar>
&mysql.alternative.note;
<simplelist role="alternatives">
<member><function>mysqli_connect</function> with <literal>p:</literal> host prefix</member>
<member><methodname>PDO::__construct</methodname> with <constant>PDO::ATTR_PERSISTENT</constant> as a driver option</member>
</simplelist>
</sidebar>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>mysql_pconnect</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>int</type><parameter>client_flags</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<!-- Undocumented confusing syntax:
<methodsynopsis>
<type>resource</type><methodname>mysql_pconnect</methodname>
<methodparam choice="opt"><type>string</type><parameter>server</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>username</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>password</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>new_link</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>client_flags</parameter></methodparam>
</methodsynopsis>
-->
<para>
Establishes a persistent connection to a MySQL server.
</para>
<!-- TODO: Integrate this information more nicely with features.persistent -->
<para>
<function>mysql_pconnect</function> acts very much like
<function>mysql_connect</function> with two major differences.
</para>
<para>
First, when connecting, the function would first try to find a
(persistent) link that's already open with the same host,
username and password. If one is found, an identifier for it
will be returned instead of opening a new connection.
</para>
<para>
Second, the connection to the SQL server will not be closed when
the execution of the script ends. Instead, the link will remain
open for future use (<function>mysql_close</function> will not
close links established by <function>mysql_pconnect</function>).
</para>
<para>
This type of link is therefore called 'persistent'.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>server</parameter></term>
<listitem>
<para>
The MySQL server. It can also include a port number. e.g.
"hostname:port" or a path to a local socket e.g. ":/path/to/socket" for
the localhost.
</para>
<para>
If the PHP directive <link linkend="ini.mysql.default-host">
mysql.default_host</link> is undefined (default), then the default
value is 'localhost:3306'
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>username</parameter></term>
<listitem>
<para>
The username. Default value is the name of the user that owns the
server process.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>password</parameter></term>
<listitem>
<para>
The password. Default value is an empty password.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>client_flags</parameter></term>
<listitem>
<para>
The <parameter>client_flags</parameter> parameter can be a combination
of the following constants:
128 (enable <literal>LOAD DATA LOCAL</literal> handling),
<constant>MYSQL_CLIENT_SSL</constant>,
<constant>MYSQL_CLIENT_COMPRESS</constant>,
<constant>MYSQL_CLIENT_IGNORE_SPACE</constant> or
<constant>MYSQL_CLIENT_INTERACTIVE</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns a MySQL persistent link identifier on success, or &false; on
failure.
</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>
Added the <parameter>client_flags</parameter> parameter.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Note, that these kind of links only work if you are using
a module version of PHP. See the
<link linkend="features.persistent-connections">Persistent
Database Connections</link> section for more information.
</para>
</note>
<warning>
<para>
Using persistent connections can require a bit of tuning of your Apache
and MySQL configurations to ensure that you do not exceed the number of
connections allowed by MySQL.
</para>
</warning>
<note>
<para>
You can suppress the error message on failure by prepending
a <link linkend="language.operators.errorcontrol">@</link>
to the function name.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysql_connect</function></member>
<member><link linkend="features.persistent-connections">Persistent
Database Connections</link></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
-->