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