Skip to content

Commit 70ef72d

Browse files
PHP 8.4: Document Pdo\Mysql class
Co-authored-by: Kamil Tekiela <[email protected]>
1 parent 02b0758 commit 70ef72d

File tree

6 files changed

+671
-116
lines changed

6 files changed

+671
-116
lines changed

reference/pdo_mysql/configure.xml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,14 @@ $ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock
4848
</screen>
4949
</para>
5050
<para>
51-
SSL support is enabled using the appropriate <link linkend="pdo-mysql.constants">PDO_MySQL constants</link>,
52-
which is equivalent to calling the <link xlink:href="&url.mysql.docs.ssl.set;">MySQL C API function mysql_ssl_set()</link>.
53-
Also, SSL cannot be enabled with <classname>PDO::setAttribute</classname> because the connection
54-
already exists. See also the MySQL documentation about <link xlink:href="&url.mysql.docs.ssl.using;">connecting to
55-
MySQL with SSL</link>.
51+
<acronym>SSL</acronym> support is enabled using the appropriate
52+
<constant>Pdo\Mysql::ATTR_SSL_<replaceable>*</replaceable></constant>,
53+
which is equivalent to calling the
54+
<link xlink:href="&url.mysql.docs.ssl.set;">MySQL C API function mysql_ssl_set()</link>.
55+
Also, SSL cannot be enabled with <methodname>PDO::setAttribute</methodname>
56+
because the connection already exists.
57+
See also the MySQL documentation about
58+
<link xlink:href="&url.mysql.docs.ssl.using;">connecting to MySQL with SSL</link>.
5659
</para>
5760

5861
</section>

reference/pdo_mysql/constants.xml

Lines changed: 68 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<section xml:id="pdo-mysql.constants" xmlns="http://docbook.org/ns/docbook">
3+
<section xml:id="ref.pdo-mysql.constants" xmlns="http://docbook.org/ns/docbook">
44
&reftitle.constants;
55
&pdo.driver-constants;
66
<variablelist>
@@ -11,29 +11,8 @@
1111
</term>
1212
<listitem>
1313
<simpara>
14-
By default all statements are executed in
15-
<link linkend="mysqlinfo.concepts.buffering">buffered mode</link>.
16-
If this attribute is set to &false; on a
17-
<classname>PDO</classname> object, the MySQL driver will use the
18-
unbuffered mode.
14+
&Alias; <constant>Pdo\Mysql::ATTR_USE_BUFFERED_QUERY</constant>
1915
</simpara>
20-
<para>
21-
<example><title>Setting MySQL unbuffered mode</title>
22-
<programlisting role="php">
23-
<![CDATA[
24-
<?php
25-
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_password');
26-
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
27-
28-
$unbufferedResult = $pdo->query("SELECT Name FROM City");
29-
foreach ($unbufferedResult as $row) {
30-
echo $row['Name'] . PHP_EOL;
31-
}
32-
?>
33-
]]>
34-
</programlisting>
35-
</example>
36-
</para>
3716
</listitem>
3817
</varlistentry>
3918
<varlistentry xml:id="pdo.constants.mysql-attr-local-infile">
@@ -42,45 +21,32 @@ foreach ($unbufferedResult as $row) {
4221
(<type>int</type>)
4322
</term>
4423
<listitem>
45-
<para>
46-
Enable <literal>LOAD LOCAL INFILE</literal>.
47-
</para>
48-
<para>
49-
Note, this constant can only be used in the <parameter>driver_options</parameter>
50-
array when constructing a new database handle.
51-
</para>
24+
<simpara>
25+
&Alias; <constant>Pdo\Mysql::ATTR_LOCAL_INFILE</constant>
26+
</simpara>
5227
</listitem>
5328
</varlistentry>
5429
<varlistentry xml:id="pdo.constants.mysql-attr-local-infile-directory">
5530
<term>
5631
<constant>PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY</constant>
57-
(<type>string</type>)
32+
(<type>int</type>)
5833
</term>
5934
<listitem>
60-
<para>
61-
Allows restricting LOCAL DATA loading to files located in this designated
62-
directory. Available as of PHP 8.1.0.
63-
</para>
64-
<para>
65-
Note, this constant can only be used in the <parameter>driver_options</parameter>
66-
array when constructing a new database handle.
67-
</para>
35+
<simpara>
36+
&Alias; <constant>Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY</constant>.
37+
Available as of PHP 8.1.0.
38+
</simpara>
6839
</listitem>
6940
</varlistentry>
7041
<varlistentry xml:id="pdo.constants.mysql-attr-init-command">
7142
<term>
7243
<constant>PDO::MYSQL_ATTR_INIT_COMMAND</constant>
73-
(<type>string</type>)
44+
(<type>int</type>)
7445
</term>
7546
<listitem>
76-
<para>
77-
Command to execute when connecting to the MySQL server. Will
78-
automatically be re-executed when reconnecting.
79-
</para>
80-
<para>
81-
Note, this constant can only be used in the <parameter>driver_options</parameter>
82-
array when constructing a new database handle.
83-
</para>
47+
<simpara>
48+
&Alias; <constant>Pdo\Mysql::ATTR_INIT_COMMAND</constant>
49+
</simpara>
8450
</listitem>
8551
</varlistentry>
8652
<varlistentry xml:id="pdo.constants.mysql-attr-read-default-file">
@@ -89,12 +55,9 @@ foreach ($unbufferedResult as $row) {
8955
(<type>int</type>)
9056
</term>
9157
<listitem>
92-
<para>
93-
Read options from the named option file instead of from
94-
<filename>my.cnf</filename>. This option is not available if
95-
mysqlnd is used, because mysqlnd does not read the mysql
96-
configuration files.
97-
</para>
58+
<simpara>
59+
&Alias; <constant>Pdo\Mysql::ATTR_READ_DEFAULT_FILE</constant>
60+
</simpara>
9861
</listitem>
9962
</varlistentry>
10063
<varlistentry xml:id="pdo.constants.mysql-attr-read-default-group">
@@ -103,12 +66,9 @@ foreach ($unbufferedResult as $row) {
10366
(<type>int</type>)
10467
</term>
10568
<listitem>
106-
<para>
107-
Read options from the named group from <filename>my.cnf</filename> or the
108-
file specified with <constant>MYSQL_READ_DEFAULT_FILE</constant>. This option
109-
is not available if mysqlnd is used, because mysqlnd does not read the mysql
110-
configuration files.
111-
</para>
69+
<simpara>
70+
&Alias; <constant>Pdo\Mysql::ATTR_READ_DEFAULT_GROUP</constant>
71+
</simpara>
11272
</listitem>
11373
</varlistentry>
11474
<varlistentry xml:id="pdo.constants.mysql-attr-max-buffer-size">
@@ -117,10 +77,9 @@ foreach ($unbufferedResult as $row) {
11777
(<type>int</type>)
11878
</term>
11979
<listitem>
120-
<para>
121-
Maximum buffer size. Defaults to 1 MiB. This constant is not supported when
122-
compiled against mysqlnd.
123-
</para>
80+
<simpara>
81+
&Alias; <constant>Pdo\Mysql::ATTR_MAX_BUFFER_SIZE</constant>
82+
</simpara>
12483
</listitem>
12584
</varlistentry>
12685
<varlistentry xml:id="pdo.constants.mysql-attr-direct-query">
@@ -129,9 +88,9 @@ foreach ($unbufferedResult as $row) {
12988
(<type>int</type>)
13089
</term>
13190
<listitem>
132-
<para>
133-
Perform direct queries, don't use prepared statements.
134-
</para>
91+
<simpara>
92+
&Alias; <constant>PDO::ATTR_EMULATE_PREPARES</constant>
93+
</simpara>
13594
</listitem>
13695
</varlistentry>
13796
<varlistentry xml:id="pdo.constants.mysql-attr-found-rows">
@@ -140,10 +99,9 @@ foreach ($unbufferedResult as $row) {
14099
(<type>int</type>)
141100
</term>
142101
<listitem>
143-
<para>
144-
Return the number of found (matched) rows, not the
145-
number of changed rows.
146-
</para>
102+
<simpara>
103+
&Alias; <constant>Pdo\Mysql::ATTR_FOUND_ROWS</constant>
104+
</simpara>
147105
</listitem>
148106
</varlistentry>
149107
<varlistentry xml:id="pdo.constants.mysql-attr-ignore-space">
@@ -152,10 +110,9 @@ foreach ($unbufferedResult as $row) {
152110
(<type>int</type>)
153111
</term>
154112
<listitem>
155-
<para>
156-
Permit spaces after function names. Makes all functions
157-
names reserved words.
158-
</para>
113+
<simpara>
114+
&Alias; <constant>Pdo\Mysql::ATTR_IGNORE_SPACE</constant>
115+
</simpara>
159116
</listitem>
160117
</varlistentry>
161118
<varlistentry xml:id="pdo.constants.mysql-attr-compress">
@@ -164,9 +121,21 @@ foreach ($unbufferedResult as $row) {
164121
(<type>int</type>)
165122
</term>
166123
<listitem>
167-
<para>
168-
Enable network communication compression.
169-
</para>
124+
<simpara>
125+
&Alias; <constant>Pdo\Mysql::ATTR_COMPRESS</constant>
126+
</simpara>
127+
</listitem>
128+
</varlistentry>
129+
130+
<varlistentry xml:id="pdo.constants.mysql-attr-server-public-key">
131+
<term>
132+
<constant>PDO::MYSQL_ATTR_SERVER_PUBLIC_KEY</constant>
133+
(<type>int</type>)
134+
</term>
135+
<listitem>
136+
<simpara>
137+
&Alias; <constant>Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY</constant>
138+
</simpara>
170139
</listitem>
171140
</varlistentry>
172141

@@ -176,9 +145,9 @@ foreach ($unbufferedResult as $row) {
176145
(<type>int</type>)
177146
</term>
178147
<listitem>
179-
<para>
180-
The file path to the SSL certificate authority.
181-
</para>
148+
<simpara>
149+
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CA</constant>
150+
</simpara>
182151
</listitem>
183152
</varlistentry>
184153

@@ -188,10 +157,9 @@ foreach ($unbufferedResult as $row) {
188157
(<type>int</type>)
189158
</term>
190159
<listitem>
191-
<para>
192-
The file path to the directory that contains the trusted SSL
193-
CA certificates, which are stored in <acronym>PEM</acronym> format.
194-
</para>
160+
<simpara>
161+
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CAPATH</constant>
162+
</simpara>
195163
</listitem>
196164
</varlistentry>
197165

@@ -201,9 +169,9 @@ foreach ($unbufferedResult as $row) {
201169
(<type>int</type>)
202170
</term>
203171
<listitem>
204-
<para>
205-
The file path to the SSL certificate.
206-
</para>
172+
<simpara>
173+
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CERT</constant>
174+
</simpara>
207175
</listitem>
208176
</varlistentry>
209177

@@ -213,10 +181,9 @@ foreach ($unbufferedResult as $row) {
213181
(<type>int</type>)
214182
</term>
215183
<listitem>
216-
<para>
217-
A list of one or more permissible ciphers to use for SSL encryption, in a format
218-
understood by OpenSSL. For example: <literal>DHE-RSA-AES256-SHA:AES128-SHA</literal>
219-
</para>
184+
<simpara>
185+
&Alias; <constant>Pdo\Mysql::ATTR_SSL_CIPHER</constant>
186+
</simpara>
220187
</listitem>
221188
</varlistentry>
222189

@@ -226,9 +193,9 @@ foreach ($unbufferedResult as $row) {
226193
(<type>int</type>)
227194
</term>
228195
<listitem>
229-
<para>
230-
The file path to the SSL key.
231-
</para>
196+
<simpara>
197+
&Alias; <constant>Pdo\Mysql::ATTR_SSL_KEY</constant>
198+
</simpara>
232199
</listitem>
233200
</varlistentry>
234201

@@ -238,13 +205,9 @@ foreach ($unbufferedResult as $row) {
238205
(<type>int</type>)
239206
</term>
240207
<listitem>
241-
<para>
242-
Provides a way to disable verification of the server SSL certificate.
243-
This option is available only with mysqlnd.
244-
</para>
245-
<para>
246-
&version.exists.asof; 7.0.18 and PHP 7.1.4.
247-
</para>
208+
<simpara>
209+
&Alias; <constant>Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT</constant>
210+
</simpara>
248211
</listitem>
249212
</varlistentry>
250213

@@ -254,14 +217,9 @@ foreach ($unbufferedResult as $row) {
254217
(<type>int</type>)
255218
</term>
256219
<listitem>
257-
<para>
258-
Disables multi query execution in both <function>PDO::prepare</function>
259-
and <function>PDO::query</function> when set to &false;.
260-
</para>
261-
<para>
262-
Note, this constant can only be used in the <parameter>driver_options</parameter>
263-
array when constructing a new database handle.
264-
</para>
220+
<simpara>
221+
&Alias; <constant>Pdo\Mysql::ATTR_MULTI_STATEMENTS</constant>
222+
</simpara>
265223
</listitem>
266224
</varlistentry>
267225

0 commit comments

Comments
 (0)