-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathmysql-connect.xml
243 lines (231 loc) · 7.84 KB
/
mysql-connect.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 554db5a3a3ac77910d68349eefa37e2c9a9da628 Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.mysql-connect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_connect</refname>
<refpurpose>打开一个到 MySQL 服务器的连接</refpurpose>
</refnamediv>
<refsynopsisdiv>
<warning>
&mysql.alternative.note;
<simplelist role="alternatives">
<member><function>mysqli_connect</function></member>
<member><methodname>PDO::__construct</methodname></member>
</simplelist>
</warning>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>resource</type><type>false</type></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",或者到本地套接字的路径,例如对于 localhost 的 ":/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> 总是打开新的连接,甚至当
<function>mysql_connect</function> 曾在前面被用同样的参数调用过。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>client_flags</parameter></term>
<listitem>
<para>
<parameter>client_flags</parameter>
参数可以是以下常量的组合:<constant>MYSQL_CLIENT_SSL</constant>,<constant>MYSQL_CLIENT_COMPRESS</constant>,<constant>MYSQL_CLIENT_IGNORE_SPACE</constant>
或 <constant>MYSQL_CLIENT_INTERACTIVE</constant>。进一步信息见
<xref linkend="mysql.client-flags" />。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
如果成功则返回一个 MySQL 连接标识,&return.falseforfailure;。
</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('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title><function>mysql_connect</function> 示例:使用 <literal>hostname:port</literal> 语法</title>
<programlisting role="php">
<![CDATA[
<?php
// we connect to example.com and port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
// we connect to localhost at port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title><function>mysql_connect</function> 示例:使用 ":/path/to/socket" 语法</title>
<programlisting role="php">
<![CDATA[
<?php
// we connect to localhost and socket e.g. /tmp/mysql.sock
// variant 1: omit localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
// variant 2: with localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
只要将 server 指定为 "localhost" 或
"localhost:port",MySQL 客户端库会越过此值并尝试连接到本地套接字(Windows
中的名字管道)。如果想用 TCP/IP,应该用 "127.0.0.1"
代替 "localhost"。如果 MySQL 客户端库试图连接到一个错误的本地套接字,则应该在
&php.ini; 中设置 <link linkend="ini.mysql.default-host">mysql.default_host</link>
的正确路径并把 server 留空。
</para>
</note>
<note>
<para>
脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用
<function>mysql_close</function> 关闭了。
</para>
</note>
<note>
<para>
Error "Can't create TCP/IP socket (10106)" usually means that the <link
linkend="ini.variables-order">variables_order</link> configure directive
doesn't contain character <literal>E</literal>. On Windows, if the
environment is not copied the <literal>SYSTEMROOT</literal> environment
variable won't be available and PHP will have problems loading 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
-->