--FILE--
<?php
-require dirname(__FILE__)."/connect.inc";
-require dirname(__FILE__).'/create_table.inc';
+require(dirname(__FILE__).'/connect.inc');
-$insert_sql = "INSERT INTO ".$schema."".$table_name." (id, value) VALUES (1,1)";
+// Initialization
-if (!($s = oci_parse($c, $insert_sql))) {
- die("oci_parse(insert) failed!\n");
-}
+$stmtarray = array(
+ "drop table fetch_object_tab",
+ "create table fetch_object_tab (\"caseSensitive\" number, secondcol varchar2(20), anothercol char(15))",
+ "insert into fetch_object_tab values (123, '1st row col2 string', '1 more text')",
+ "insert into fetch_object_tab values (456, '2nd row col2 string', '2 more text')",
+ "insert into fetch_object_tab values (789, '3rd row col2 string', '3 more text')",
+);
-for ($i = 0; $i<3; $i++) {
- if (!oci_execute($s)) {
- die("oci_execute(insert) failed!\n");
+foreach ($stmtarray as $stmt) {
+ $s = oci_parse($c, $stmt);
+ $r = @oci_execute($s);
+ if (!$r) {
+ $m = oci_error($s);
+ if (!in_array($m['code'], array( // ignore expected errors
+ 942 // table or view does not exist
+ , 2289 // sequence does not exist
+ , 4080 // trigger does not exist
+ , 38802 // edition does not exist
+ ))) {
+ echo $stmt . PHP_EOL . $m['message'] . PHP_EOL;
+ }
}
}
-if (!oci_commit($c)) {
- die("oci_commit() failed!\n");
-}
+// Run Test
-$select_sql = "SELECT * FROM ".$schema."".$table_name."";
+echo "Test 1\n";
-if (!($s = oci_parse($c, $select_sql))) {
+if (!($s = oci_parse($c, 'select * from fetch_object_tab'))) {
die("oci_parse(select) failed!\n");
}
if (!oci_execute($s)) {
die("oci_execute(select) failed!\n");
}
+
while ($row = oci_fetch_object($s)) {
var_dump($row);
}
-require dirname(__FILE__).'/drop_table.inc';
+echo "Test 2\n";
+
+if (!($s = oci_parse($c, 'select * from fetch_object_tab'))) {
+ die("oci_parse(select) failed!\n");
+}
+
+if (!oci_execute($s)) {
+ die("oci_execute(select) failed!\n");
+}
-echo "Done\n";
+while ($row = oci_fetch_object($s)) {
+ echo $row->caseSensitive . "\n";
+ echo $row->SECONDCOL . "\n";
+ echo $row->ANOTHERCOL . "\n";
+}
+
+echo "Test 3\n";
+
+if (!($s = oci_parse($c, 'select * from fetch_object_tab where rownum < 2 order by "caseSensitive"'))) {
+ die("oci_parse(select) failed!\n");
+}
+
+if (!oci_execute($s)) {
+ die("oci_execute(select) failed!\n");
+}
+
+$row = oci_fetch_object($s);
+echo $row->caseSensitive . "\n";
+echo $row->CASESENSITIVE . "\n";
+
+// Clean up
+
+$stmtarray = array(
+ "drop table fetch_object_tab"
+);
+
+foreach ($stmtarray as $stmt) {
+ $s = oci_parse($c, $stmt);
+ oci_execute($s);
+}
?>
+===DONE===
+<?php exit(0); ?>
--EXPECTF--
-object(stdClass)#%d (5) {
- ["ID"]=>
- string(1) "1"
- ["VALUE"]=>
- string(1) "1"
- ["BLOB"]=>
- NULL
- ["CLOB"]=>
- NULL
- ["STRING"]=>
- NULL
+Test 1
+object(stdClass)#1 (3) {
+ [%u|b%"caseSensitive"]=>
+ %unicode|string%(3) "123"
+ [%u|b%"SECONDCOL"]=>
+ %unicode|string%(19) "1st row col2 string"
+ [%u|b%"ANOTHERCOL"]=>
+ %unicode|string%(15) "1 more text "
}
-object(stdClass)#%d (5) {
- ["ID"]=>
- string(1) "1"
- ["VALUE"]=>
- string(1) "1"
- ["BLOB"]=>
- NULL
- ["CLOB"]=>
- NULL
- ["STRING"]=>
- NULL
+object(stdClass)#2 (3) {
+ [%u|b%"caseSensitive"]=>
+ %unicode|string%(3) "456"
+ [%u|b%"SECONDCOL"]=>
+ %unicode|string%(19) "2nd row col2 string"
+ [%u|b%"ANOTHERCOL"]=>
+ %unicode|string%(15) "2 more text "
}
-object(stdClass)#%d (5) {
- ["ID"]=>
- string(1) "1"
- ["VALUE"]=>
- string(1) "1"
- ["BLOB"]=>
- NULL
- ["CLOB"]=>
- NULL
- ["STRING"]=>
- NULL
+object(stdClass)#1 (3) {
+ [%u|b%"caseSensitive"]=>
+ %unicode|string%(3) "789"
+ [%u|b%"SECONDCOL"]=>
+ %unicode|string%(19) "3rd row col2 string"
+ [%u|b%"ANOTHERCOL"]=>
+ %unicode|string%(15) "3 more text "
}
-Done
+Test 2
+123
+1st row col2 string
+1 more text
+456
+2nd row col2 string
+2 more text
+789
+3rd row col2 string
+3 more text
+Test 3
+123
+
+Notice: Undefined property: stdClass::$CASESENSITIVE in %sfetch_object.php on line %d
+
+===DONE===