Annotation of embedaddon/php/ext/oci8/tests/bug27303_4_11gR1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #27303 (OCIBindByName binds numeric PHP values as characters)
3: --SKIPIF--
4: <?php
5: if (!extension_loaded('oci8')) die ("skip no oci8 extension");
6: require(dirname(__FILE__)."/connect.inc");
7: // The bind buffer size edge cases seem to change each DB version.
8: if (preg_match('/Release 10\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
9: if (preg_match('/Release 11\.1\.0\.6/', oci_server_version($c), $matches) !== 1) {
10: if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
11: die("skip expected output only valid when using specific Oracle database versions");
12: }
13: }
14: }
15: ?>
16: --FILE--
17: <?php
18:
19: require dirname(__FILE__).'/connect.inc';
20:
21: $create_st = array();
22: $create_st[] = "drop sequence myseq";
23: $create_st[] = "drop table mytab";
24: $create_st[] = "create sequence myseq";
25: $create_st[] = "create table mytab (mydata varchar2(20), seqcol number)";
26:
27: oci8_test_sql_execute($c, $create_st);
28:
29: define('MYLIMIT', 200);
30:
31: $stmt = "insert into mytab (mydata, seqcol) values ('Some data', myseq.nextval) returning seqcol into :mybv";
32:
33: $stid = OCIParse($c, $stmt);
34: if (!$stid) { echo "Parse error"; die; }
35:
36: $r = OCIBindByName($stid, ':MYBV', $mybv, 0 );
37: if (!$r) { echo "Bind error"; die; }
38:
39: for ($i = 1; $i < MYLIMIT; $i++) {
40: $r = OCIExecute($stid, OCI_DEFAULT);
41: if (!$r) { echo "Execute error"; die; }
42: var_dump($mybv);
43: }
44:
45: OCICommit($c);
46:
47: $drop_st = array();
48: $drop_st[] = "drop sequence myseq";
49: $drop_st[] = "drop table mytab";
50:
51: oci8_test_sql_execute($c, $drop_st);
52:
53: echo "Done\n";
54: ?>
55: --EXPECT--
56: string(1) "1"
57: string(1) "2"
58: string(1) "3"
59: string(1) "4"
60: string(1) "5"
61: string(1) "6"
62: string(1) "7"
63: string(1) "8"
64: string(1) "9"
65: string(1) "1"
66: string(1) "1"
67: string(1) "1"
68: string(1) "1"
69: string(1) "1"
70: string(1) "1"
71: string(1) "1"
72: string(1) "1"
73: string(1) "1"
74: string(1) "1"
75: string(1) "2"
76: string(1) "2"
77: string(1) "2"
78: string(1) "2"
79: string(1) "2"
80: string(1) "2"
81: string(1) "2"
82: string(1) "2"
83: string(1) "2"
84: string(1) "2"
85: string(1) "3"
86: string(1) "3"
87: string(1) "3"
88: string(1) "3"
89: string(1) "3"
90: string(1) "3"
91: string(1) "3"
92: string(1) "3"
93: string(1) "3"
94: string(1) "3"
95: string(1) "4"
96: string(1) "4"
97: string(1) "4"
98: string(1) "4"
99: string(1) "4"
100: string(1) "4"
101: string(1) "4"
102: string(1) "4"
103: string(1) "4"
104: string(1) "4"
105: string(1) "5"
106: string(1) "5"
107: string(1) "5"
108: string(1) "5"
109: string(1) "5"
110: string(1) "5"
111: string(1) "5"
112: string(1) "5"
113: string(1) "5"
114: string(1) "5"
115: string(1) "6"
116: string(1) "6"
117: string(1) "6"
118: string(1) "6"
119: string(1) "6"
120: string(1) "6"
121: string(1) "6"
122: string(1) "6"
123: string(1) "6"
124: string(1) "6"
125: string(1) "7"
126: string(1) "7"
127: string(1) "7"
128: string(1) "7"
129: string(1) "7"
130: string(1) "7"
131: string(1) "7"
132: string(1) "7"
133: string(1) "7"
134: string(1) "7"
135: string(1) "8"
136: string(1) "8"
137: string(1) "8"
138: string(1) "8"
139: string(1) "8"
140: string(1) "8"
141: string(1) "8"
142: string(1) "8"
143: string(1) "8"
144: string(1) "8"
145: string(1) "9"
146: string(1) "9"
147: string(1) "9"
148: string(1) "9"
149: string(1) "9"
150: string(1) "9"
151: string(1) "9"
152: string(1) "9"
153: string(1) "9"
154: string(1) "9"
155: string(1) "1"
156: string(1) "1"
157: string(1) "1"
158: string(1) "1"
159: string(1) "1"
160: string(1) "1"
161: string(1) "1"
162: string(1) "1"
163: string(1) "1"
164: string(1) "1"
165: string(1) "1"
166: string(1) "1"
167: string(1) "1"
168: string(1) "1"
169: string(1) "1"
170: string(1) "1"
171: string(1) "1"
172: string(1) "1"
173: string(1) "1"
174: string(1) "1"
175: string(1) "1"
176: string(1) "1"
177: string(1) "1"
178: string(1) "1"
179: string(1) "1"
180: string(1) "1"
181: string(1) "1"
182: string(1) "1"
183: string(1) "1"
184: string(1) "1"
185: string(1) "1"
186: string(1) "1"
187: string(1) "1"
188: string(1) "1"
189: string(1) "1"
190: string(1) "1"
191: string(1) "1"
192: string(1) "1"
193: string(1) "1"
194: string(1) "1"
195: string(1) "1"
196: string(1) "1"
197: string(1) "1"
198: string(1) "1"
199: string(1) "1"
200: string(1) "1"
201: string(1) "1"
202: string(1) "1"
203: string(1) "1"
204: string(1) "1"
205: string(1) "1"
206: string(1) "1"
207: string(1) "1"
208: string(1) "1"
209: string(1) "1"
210: string(1) "1"
211: string(1) "1"
212: string(1) "1"
213: string(1) "1"
214: string(1) "1"
215: string(1) "1"
216: string(1) "1"
217: string(1) "1"
218: string(1) "1"
219: string(1) "1"
220: string(1) "1"
221: string(1) "1"
222: string(1) "1"
223: string(1) "1"
224: string(1) "1"
225: string(1) "1"
226: string(1) "1"
227: string(1) "1"
228: string(1) "1"
229: string(1) "1"
230: string(1) "1"
231: string(1) "1"
232: string(1) "1"
233: string(1) "1"
234: string(1) "1"
235: string(1) "1"
236: string(1) "1"
237: string(1) "1"
238: string(1) "1"
239: string(1) "1"
240: string(1) "1"
241: string(1) "1"
242: string(1) "1"
243: string(1) "1"
244: string(1) "1"
245: string(1) "1"
246: string(1) "1"
247: string(1) "1"
248: string(1) "1"
249: string(1) "1"
250: string(1) "1"
251: string(1) "1"
252: string(1) "1"
253: string(1) "1"
254: string(1) "1"
255: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>