1
1
<?xml version =" 1.0" encoding =" utf-8" ?>
2
- <reference xml : id =" ref.pdo-cubrid" xmlns =" http://docbook.org/ns/docbook" >
3
- <?phpdoc extension-membership =" pecl" ?>
4
- <title >CUBRID Functions (PDO_CUBRID)</title >
5
- <titleabbrev >CUBRID (PDO)</titleabbrev >
6
- <partintro >
7
-
8
- <section xml : id =" pdo-cubrid.intro" >
9
- &reftitle.intro;
10
- <para >
11
- PDO_CUBRID is a driver that implements the <link linkend =" intro.pdo" >PHP Data Objects (PDO) interface</link > to
12
- enable access from PHP to CUBRID databases.
13
- </para >
2
+ <reference xml : id =" ref.pdo-cubrid" xmlns =" http://docbook.org/ns/docbook" ><?phpdoc extension-membership =" pecl" ?>
3
+ <title >CUBRID Functions (PDO_CUBRID)</title >
4
+ <titleabbrev >CUBRID (PDO)</titleabbrev >
5
+ <partintro >
6
+
7
+ <section xml : id =" pdo-cubrid.intro" >&reftitle.intro;
8
+ <para >
9
+ PDO_CUBRID is a driver that implements the
10
+ <link linkend =" intro.pdo" >PHP Data Objects (PDO) interface</link >
11
+ to enable access from PHP to CUBRID databases.
12
+ </para >
13
+ <note ><para >
14
+ Current version of PDO_CUBRID doesn't support persistent connection now.
15
+ </para ></note >
16
+ </section >
17
+
18
+ <!-- Information found in configure.xml -->
19
+ &reference.pdo-cubrid.configure;
20
+
21
+ <section xml : id =" ref.pdo-cubrid.features" >
22
+ <title >PDO_CUBRID Features</title >
23
+
24
+ <section >
25
+ <title >Scrollable cursors</title >
26
+ <simpara >
27
+ PDO_CUBRID supports scrollable cursors. The default cursor type is
28
+ forward only, and you can use parameter driver_options in
29
+ <methodname >PDO::prepare</methodname > to change cursor type.
30
+ </simpara >
31
+ </section >
32
+
33
+ <section >
34
+ <title >Timeout</title >
35
+ <simpara >
36
+ PDO_CUBRID supports sql statement execution timeout setting;
37
+ You can use <methodname >PDO::setAttribute</methodname > to set timeout value.
38
+ </simpara >
39
+ </section >
40
+
41
+ <section >
42
+ <title >Autocommit_mode and Transaction</title >
43
+
44
+ <simpara >
45
+ PDO_CUBRID supports both autocommit_mode and transaction, and
46
+ autocommit_mode is enabled by default. You can use
47
+ <methodname >PDO::setAttribute</methodname > to change its state.
48
+ </simpara >
49
+
50
+ <simpara >
51
+ If you use <methodname >PDO::beginTransaction</methodname > to begin a
52
+ transaction, it will disable autocommit_mode automatically and
53
+ restore it after <methodname >PDO::commit</methodname > or
54
+ <methodname >PDO::rollBack</methodname >.
55
+ </simpara >
56
+
14
57
<note >
15
- <para >
16
- Current version of PDO_CUBRID doesn't support persistent connection now.
17
- </para >
18
- </note >
58
+ <simpara >
59
+ Prior do disabling autocommit_mode
60
+ any pending work is automatically committed.
61
+ </simpara >
62
+ </note >
19
63
</section >
64
+
65
+ <section >
66
+ <title >Multiple SQL Statements</title >
20
67
21
- <!-- Information found in configure.xml -->
22
- &reference.pdo-cubrid.configure;
23
-
24
- <section xml : id =" ref.pdo-cubrid.features" >
25
- <title >Features</title >
26
- <table >
27
- <title >PDO_CUBRID Features</title >
28
- <tgroup cols =" 2" >
29
- <thead >
30
- <row >
31
- <entry >Feature</entry >
32
- <entry >Description</entry >
33
- </row >
34
- </thead >
35
- <tbody >
36
- <row >
37
- <entry >Scrollable cursors</entry >
38
- <entry >
39
- PDO_CUBRID supports scrollable cursors. The default cursor type is
40
- forward only, and you can use parameter driver_options in
41
- <function >PDO::prepare</function > to change cursor type.
42
- </entry >
43
- </row >
44
- <row >
45
- <entry >Timeout</entry >
46
- <entry >PDO_CUBRID supports sql statement execution timeout setting;
47
- You can use <function >PDO::setAttribute</function > to set timeout value.</entry >
48
- </row >
49
- <row >
50
- <entry >Autocommit_mode and Transaction</entry >
51
- <entry >
52
- PDO_CUBRID supports both autocommit_mode and transaction, and
53
- autocommit_mode is enabled by default. You can use
54
- <function >PDO::setAttribute</function > to change its state.
55
-
56
- <para >
57
- If you use <function >PDO::beginTransaction</function > to begin a
58
- transaction, it will disable autocommit_mode automatically and
59
- restore it after <function >PDO::commit</function > or
60
- <function >PDO::rollBack</function >. Note that before disabling the
61
- autocommit_mode, any pending work is automatically committed.
62
- </para >
63
- </entry >
64
- </row >
65
- <row >
66
- <entry >Multiple SQL Statements</entry >
67
- <entry >PDO_CUBRID supports Multiple SQL statements. Multiple SQL
68
- statements are separated by semicolons (;)</entry >
69
- </row >
70
- <row >
71
- <entry >Schema Information</entry >
72
- <entry >PDO_CUBRID implements a function
73
- <function >PDO::cubrid_schema</function > to get schema information.
74
- </entry >
75
- </row >
76
- <row >
77
- <entry >LOBs</entry >
78
- <entry >PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is
79
- represented as a stream, so you can insert LOBs by binding a stream,
80
- and get LOBs by reading a stream returned by CUBRID PDO. For example:
81
-
82
- <para >
83
- <example ><title >Insert LOBs in CUBRID PDO</title >
84
- <programlisting role =" php" >
68
+ <simpara >
69
+ PDO_CUBRID supports Multiple SQL statements.
70
+ Multiple SQL statements are separated by semicolons (<literal >;</literal >).
71
+ </simpara >
72
+ </section >
73
+
74
+ <section >
75
+ <title >Schema Information</title >
76
+
77
+ <simpara >
78
+ PDO_CUBRID implements <methodname >PDO::cubrid_schema</methodname >
79
+ to get schema information.
80
+ </simpara >
81
+ </section >
82
+
83
+ <section >
84
+ <title >LOBs</title >
85
+
86
+ <simpara >
87
+ PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is
88
+ represented as a stream, so you can insert LOBs by binding a stream,
89
+ and get LOBs by reading a stream returned by CUBRID PDO.
90
+ For example:
91
+ </simpara >
92
+
93
+ <example >
94
+ <title >Insert LOBs in CUBRID PDO</title >
95
+ <programlisting role =" php" >
85
96
<![CDATA[
86
97
<?php
87
98
$fp = fopen('lob_test.png', 'rb');
@@ -93,12 +104,12 @@ $ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
93
104
$ret = $stmt->execute();
94
105
?>
95
106
]]>
96
- </programlisting >
97
- </example >
98
- </ para >
99
- < para >
100
- < example > <title >Fetch LOBs in CUBRID PDO</title >
101
- <programlisting role =" php" >
107
+ </programlisting >
108
+ </example >
109
+
110
+ < example >
111
+ <title >Fetch LOBs in CUBRID PDO</title >
112
+ <programlisting role =" php" >
102
113
<![CDATA[
103
114
<?php
104
115
$sql_stmt = "SELECT content FROM lob_test WHERE name='lob_test.png'";
@@ -111,41 +122,47 @@ header("Content-Type: image/png");
111
122
fpassthru($result[0]);
112
123
?>
113
124
]]>
114
- </programlisting >
115
- </example >
116
- </para >
117
- </entry >
118
- </row >
119
- <row >
120
- <entry >Column meta</entry >
121
- <entry >
122
- The <function >PDOStatement::getColumnMeta</function > in CUBRID PDO
123
- will return an associative array containing the following values:
124
- <simplelist >
125
- <member >type</member >
126
- <member >name</member >
127
- <member >table</member >
128
- <member >def</member >
129
- <member >precision</member >
130
- <member >scale</member >
131
- <member >not_null</member >
132
- <member >auto_increment</member >
133
- <member >unique_key</member >
134
- <member >multiple_key</member >
135
- <member >primary_key</member >
136
- <member >foreign_key</member >
137
- <member >reverse_index</member >
138
- <member >reverse_unique</member >
139
- </simplelist >
140
- </entry >
141
- </row >
142
- <row >
143
- <entry >Collection Data Type</entry >
144
- <entry >PDO_CUBRID supports SET/MULTISET/SEQUENCE data type. If you don't specify data type,
145
- the default data type is char,for example:
146
- <para >
147
- <example ><title >Insert set in CUBRID PDO with default data type.</title >
148
- <programlisting role =" php" >
125
+ </programlisting >
126
+ </example >
127
+ </section >
128
+
129
+ <section >
130
+ <title >Column meta</title >
131
+
132
+ <para >
133
+ The <methodname >PDOStatement::getColumnMeta</methodname > in CUBRID PDO
134
+ will return an associative array containing the following values:
135
+ <simplelist >
136
+ <member >type</member >
137
+ <member >name</member >
138
+ <member >table</member >
139
+ <member >def</member >
140
+ <member >precision</member >
141
+ <member >scale</member >
142
+ <member >not_null</member >
143
+ <member >auto_increment</member >
144
+ <member >unique_key</member >
145
+ <member >multiple_key</member >
146
+ <member >primary_key</member >
147
+ <member >foreign_key</member >
148
+ <member >reverse_index</member >
149
+ <member >reverse_unique</member >
150
+ </simplelist >
151
+ </para >
152
+ </section >
153
+
154
+ <section >
155
+ <title >Collection Data Type</title >
156
+
157
+ <simpara >
158
+ PDO_CUBRID supports SET/MULTISET/SEQUENCE data type.
159
+ If you don't specify data type, the default data type is char.
160
+ For example:
161
+ </simpara >
162
+
163
+ <example >
164
+ <title >Insert set in CUBRID PDO with default data type.</title >
165
+ <programlisting role =" php" >
149
166
<![CDATA[
150
167
<?php
151
168
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
@@ -162,12 +179,12 @@ $ret = $stmt->execute();
162
179
var_Dump($ret);
163
180
?>
164
181
]]>
165
- </programlisting >
166
- </example >
167
- </ para >
168
- < para >
169
- < example > <title >Specify data type when insert set in CUBRID PDO</title >
170
- <programlisting role =" php" >
182
+ </programlisting >
183
+ </example >
184
+
185
+ < example >
186
+ <title >Specify data type when insert set in CUBRID PDO</title >
187
+ <programlisting role =" php" >
171
188
<![CDATA[
172
189
<?php
173
190
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
@@ -184,36 +201,35 @@ $ret = $stmt->execute();
184
201
var_Dump($ret);
185
202
?>
186
203
]]>
187
- </programlisting >
188
- </example >
189
- </para >
190
- CUBRID Bind Data Types:(The fifth parameter of PDOStatement::bindParam):
191
- <simplelist >
192
- <member >CHAR</member >
193
- <member >STRING</member >
194
- <member >NCHAR</member >
195
- <member >VARNCHAR</member >
196
- <member >BIT</member >
197
- <member >VARBIT</member >
198
- <member >NUMERIC</member >
199
- <member >NUMBER</member >
200
- <member >INT</member >
201
- <member >SHORT</member >
202
- <member >BIGINT</member >
203
- <member >MONETARY</member >
204
- <member >FLOAT</member >
205
- <member >DOUBLE</member >
206
- <member >DATE</member >
207
- <member >TIME</member >
208
- <member >DATETIME</member >
209
- <member >TIMESTAMP</member >
210
- </simplelist >
211
- </entry >
212
- </row >
213
- </tbody >
214
- </tgroup >
215
- </table >
204
+ </programlisting >
205
+ </example >
206
+
207
+ <para >
208
+ CUBRID Bind Data Types for the fifth parameter of
209
+ <methodname >PDOStatement::bindParam</methodname >:
210
+ <simplelist >
211
+ <member >CHAR</member >
212
+ <member >STRING</member >
213
+ <member >NCHAR</member >
214
+ <member >VARNCHAR</member >
215
+ <member >BIT</member >
216
+ <member >VARBIT</member >
217
+ <member >NUMERIC</member >
218
+ <member >NUMBER</member >
219
+ <member >INT</member >
220
+ <member >SHORT</member >
221
+ <member >BIGINT</member >
222
+ <member >MONETARY</member >
223
+ <member >FLOAT</member >
224
+ <member >DOUBLE</member >
225
+ <member >DATE</member >
226
+ <member >TIME</member >
227
+ <member >DATETIME</member >
228
+ <member >TIMESTAMP</member >
229
+ </simplelist >
230
+ </para >
216
231
</section >
232
+ </section >
217
233
218
234
<!-- Information found in constants.xml -->
219
235
&reference.pdo-cubrid.constants;
0 commit comments