forked from php/doc-ja
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmysql-connect.xml
258 lines (246 loc) · 9.18 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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 554db5a3a3ac77910d68349eefa37e2c9a9da628 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa -->
<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>
同じ引数で 2 回 <function>mysql_connect</function> をコールした場合、
2 回目は新規のリンクが確立されるのではなく、代わりにすでにオープンされた
リンクのリンク ID が返されます。
パラメータ <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> または
<constant>MYSQL_CLIENT_INTERACTIVE</constant>。
詳細な情報については <xref linkend="mysql.client-flags" />
を参照ください。
&sqlsafemode; の場合はこのパラメータは無視されます。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
成功した場合に MySQL リンク ID を、&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('接続できませんでした: ' . 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>
サーバー名に "localhost" や "localhost:port"
を指定した場合、MySQL クライアントライブラリはそれをオーバーライドし、
ローカルソケット(Windows では名前つきパイプ)に接続しようとします。
TCP/IP を用いたい場合は、"localhost" のかわりに
"127.0.0.1" を用いてください。もし MySQL クライアントライブラリが
間違ったローカルソケットへ接続しようとしている場合、これを修正するには
&php.ini; の <link linkend="ini.mysql.default-host">mysql.default_host</link>
に正しいパスを指定したうえでサーバー名を空白にしておくべきです。
</para>
</note>
<note>
<para>
サーバーへのリンクは、<function>mysql_close</function> のコールにより
明示的に閉じられない限り、スクリプトの実行終了と同時に閉じられます。
</para>
</note>
<note>
<para>
エラー "Can't create TCP/IP socket (10106)" が発生するのは、たいていは <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
-->