Annotation of embedaddon/php/ext/oci8/tests/bind_sqltafc.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bind tests with SQLT_AFC
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: // Initialization
11:
12: $stmtarray = array(
13: "drop table bind_sqltafc_tab",
14: "create table bind_sqltafc_tab (id number, char_t char(1), char_t10 char(10), varchar2_t10 varchar2(10), number_t number)",
15: "insert into bind_sqltafc_tab values (0, 'a', 'abcd', 'efghij', 1.1)"
16: );
17:
18: oci8_test_sql_execute($c, $stmtarray);
19:
20: // Run Test
21:
22: function q($c, $id)
23: {
24: $s = oci_parse($c, "select * from bind_sqltafc_tab where id = $id");
25: oci_execute($s);
26: oci_fetch_all($s, $r);
27: var_dump($r);
28: }
29:
30: echo "Test 0 - base table creation without binds\n";
31:
32: q($c, 0);
33:
34: echo "\nTest 1 - successful insert\n";
35:
36: $s = oci_parse($c, "INSERT INTO bind_sqltafc_tab (id, char_t, char_t10, varchar2_t10, number_t) VALUES (1, :c2, :c3, :c4, :c5)");
37: $c2 = "H";
38: $c3 = "AAAAAAAAAA"; // max length allowed in column
39: $c4 = "BBBBBBBBBB"; // max length allowed in column
40: $c5 = "123.45";
41: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
42: oci_bind_by_name($s, ":c3", $c3, -1, SQLT_AFC);
43: oci_bind_by_name($s, ":c4", $c4, -1, SQLT_AFC);
44: oci_bind_by_name($s, ":c5", $c5, -1, SQLT_AFC);
45: oci_execute($s);
46:
47: q($c, 1);
48:
49: echo "\nTest 2 - Empty Strings\n";
50:
51: $s = oci_parse($c, "INSERT INTO bind_sqltafc_tab (id, char_t, char_t10, varchar2_t10, number_t) VALUES (5, :c2, :c3, :c4, :c5)");
52: $c2 = "";
53: $c3 = "";
54: $c4 = "";
55: $c5 = "";
56: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
57: oci_bind_by_name($s, ":c3", $c3, -1, SQLT_AFC);
58: oci_bind_by_name($s, ":c4", $c4, -1, SQLT_AFC);
59: oci_bind_by_name($s, ":c5", $c5, -1, SQLT_AFC);
60: oci_execute($s);
61:
62: q($c, 5);
63:
64: echo "\nTest 3 - NULLs\n";
65:
66: $s = oci_parse($c, "INSERT INTO bind_sqltafc_tab (id, char_t, char_t10, varchar2_t10, number_t) VALUES (6, :c2, :c3, :c4, :c5)");
67: $c2 = null;
68: $c3 = null;
69: $c4 = null;
70: $c5 = null;
71: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
72: oci_bind_by_name($s, ":c3", $c3, -1, SQLT_AFC);
73: oci_bind_by_name($s, ":c4", $c4, -1, SQLT_AFC);
74: oci_bind_by_name($s, ":c5", $c5, -1, SQLT_AFC);
75: oci_execute($s);
76:
77: q($c, 6);
78:
79: // Clean up
80:
81: $stmtarray = array(
82: "drop table bind_sqltafc_tab"
83: );
84:
85: oci8_test_sql_execute($c, $stmtarray);
86:
87: oci_close($c);
88:
89: ?>
90: ===DONE===
91: <?php exit(0); ?>
92: --EXPECTF--
93: Test 0 - base table creation without binds
94: array(5) {
95: ["ID"]=>
96: array(1) {
97: [0]=>
98: string(1) "0"
99: }
100: ["CHAR_T"]=>
101: array(1) {
102: [0]=>
103: string(1) "a"
104: }
105: ["CHAR_T10"]=>
106: array(1) {
107: [0]=>
108: string(10) "abcd "
109: }
110: ["VARCHAR2_T10"]=>
111: array(1) {
112: [0]=>
113: string(6) "efghij"
114: }
115: ["NUMBER_T"]=>
116: array(1) {
117: [0]=>
118: string(3) "1.1"
119: }
120: }
121:
122: Test 1 - successful insert
123: array(5) {
124: ["ID"]=>
125: array(1) {
126: [0]=>
127: string(1) "1"
128: }
129: ["CHAR_T"]=>
130: array(1) {
131: [0]=>
132: string(1) "H"
133: }
134: ["CHAR_T10"]=>
135: array(1) {
136: [0]=>
137: string(10) "AAAAAAAAAA"
138: }
139: ["VARCHAR2_T10"]=>
140: array(1) {
141: [0]=>
142: string(10) "BBBBBBBBBB"
143: }
144: ["NUMBER_T"]=>
145: array(1) {
146: [0]=>
147: string(6) "123.45"
148: }
149: }
150:
151: Test 2 - Empty Strings
152: array(5) {
153: ["ID"]=>
154: array(1) {
155: [0]=>
156: string(1) "5"
157: }
158: ["CHAR_T"]=>
159: array(1) {
160: [0]=>
161: NULL
162: }
163: ["CHAR_T10"]=>
164: array(1) {
165: [0]=>
166: NULL
167: }
168: ["VARCHAR2_T10"]=>
169: array(1) {
170: [0]=>
171: NULL
172: }
173: ["NUMBER_T"]=>
174: array(1) {
175: [0]=>
176: NULL
177: }
178: }
179:
180: Test 3 - NULLs
181: array(5) {
182: ["ID"]=>
183: array(1) {
184: [0]=>
185: string(1) "6"
186: }
187: ["CHAR_T"]=>
188: array(1) {
189: [0]=>
190: NULL
191: }
192: ["CHAR_T10"]=>
193: array(1) {
194: [0]=>
195: NULL
196: }
197: ["VARCHAR2_T10"]=>
198: array(1) {
199: [0]=>
200: NULL
201: }
202: ["NUMBER_T"]=>
203: array(1) {
204: [0]=>
205: NULL
206: }
207: }
208: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>