1--TEST-- 2Test oci_fetch_* array overwriting when query returns no rows 3--SKIPIF-- 4<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> 5--FILE-- 6<?php 7 8require(__DIR__.'/connect.inc'); 9 10// Initialization 11 12$stmtarray = array( 13 "drop table fetch_all4_tab", 14 "create table fetch_all4_tab (mycol1 number, mycol2 varchar2(20))", 15 "insert into fetch_all4_tab values (1, 'abc')" 16); 17 18oci8_test_sql_execute($c, $stmtarray); 19 20// Run Test 21 22echo "Test 1\n"; 23 24$s = oci_parse($c, "select * from fetch_all4_tab where 1 = 0"); 25oci_execute($s); 26$res = array(1,2,3); // this array is replaced as a result of the query 27$r = oci_fetch_all($s, $res); 28var_dump($r); 29var_dump($res); 30 31echo "Test 2\n"; 32 33$s = oci_parse($c, "select * from fetch_all4_tab where 1 = 0"); 34oci_execute($s); 35$row = array(1,2,3); // this array is replaced as a result of the query 36$row = oci_fetch_array($s); 37var_dump($row); 38 39// Clean up 40 41$stmtarray = array( 42 "drop table fetch_all4_tab" 43); 44 45oci8_test_sql_execute($c, $stmtarray); 46 47?> 48--EXPECT-- 49Test 1 50int(0) 51array(2) { 52 ["MYCOL1"]=> 53 array(0) { 54 } 55 ["MYCOL2"]=> 56 array(0) { 57 } 58} 59Test 2 60bool(false) 61