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