Annotation of embedaddon/php/ext/oci8/tests/define5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: oci_define_by_name() for statement re-execution
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: // Initialize
11:
12: $stmtarray = array(
13: "drop table define5_tab",
14: "create table define5_tab (id number, string varchar(10))",
15: "insert into define5_tab (id, string) values (1, 'some')",
16: "insert into define5_tab (id, string) values (2, 'thing')",
17: );
18:
19: oci8_test_sql_execute($c, $stmtarray);
20:
21: // Run test
22:
23: echo "Test 1 - must do define before execute\n";
24: $stmt = oci_parse($c, "select string from define5_tab where id = 1");
25: oci_execute($stmt);
26: var_dump(oci_define_by_name($stmt, "STRING", $string));
27: while (oci_fetch($stmt)) {
28: var_dump($string); // gives NULL
29: var_dump(oci_result($stmt, 'STRING'));
30: }
31:
32: echo "Test 2 - normal define order\n";
33: $stmt = oci_parse($c, "select string from define5_tab where id = 1");
34: var_dump(oci_define_by_name($stmt, "STRING", $string));
35: oci_execute($stmt);
36:
37: while (oci_fetch($stmt)) {
38: var_dump($string);
39: }
40:
41: echo "Test 3 - no new define done\n";
42: $stmt = oci_parse($c, "select string from define5_tab where id = 2");
43: oci_execute($stmt);
44: while (oci_fetch($stmt)) {
45: var_dump($string); // not updated with new value
46: var_dump(oci_result($stmt, 'STRING'));
47: }
48:
49: // Cleanup
50:
51: $stmtarray = array(
52: "drop table define5_tab"
53: );
54:
55: oci8_test_sql_execute($c, $stmtarray);
56:
57: echo "Done\n";
58:
59: ?>
60: --EXPECTF--
61: Test 1 - must do define before execute
62: bool(true)
63: NULL
64: %unicode|string%(4) "some"
65: Test 2 - normal define order
66: bool(true)
67: %unicode|string%(4) "some"
68: Test 3 - no new define done
69: %unicode|string%(4) "some"
70: %unicode|string%(5) "thing"
71: Done
72:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>