2 oci_define_by_name() for statement re-execution
4 <?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
8 require(dirname(__FILE__)."/connect.inc");
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);
23 echo "Test 1 - must do define before execute\n";
24 $stmt = oci_parse($c, "select string from define5_tab where id = 1");
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));
37 while (oci_fetch($stmt)) {
41 echo "Test 3 - no new define done\n";
42 $stmt = oci_parse($c, "select string from define5_tab where id = 2");
44 while (oci_fetch($stmt)) {
45 var_dump($string); // not updated with new value
46 var_dump(oci_result($stmt, 'STRING'));
52 "drop table define5_tab"
55 oci8_test_sql_execute($c, $stmtarray);
61 Test 1 - must do define before execute
64 %unicode|string%(4) "some"
65 Test 2 - normal define order
67 %unicode|string%(4) "some"
68 Test 3 - no new define done
69 %unicode|string%(4) "some"
70 %unicode|string%(5) "thing"