Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / oci8 / tests / define5.phpt
blob68fa01d09aa872298a3584567aee38af3820b231
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
8 require(dirname(__FILE__)."/connect.inc");
10 // Initialize
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')",
19 oci8_test_sql_execute($c, $stmtarray);
21 // Run test
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'));
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);
37 while (oci_fetch($stmt)) {
38         var_dump($string);
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'));
49 // Cleanup
51 $stmtarray = array(
52     "drop table define5_tab"
55 oci8_test_sql_execute($c, $stmtarray);
57 echo "Done\n";
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