--TEST-- InterBase: binding (may take a while) --SKIPIF-- --FILE-- V_CHAR,0,strlen($v_char)) != $v_char) { echo " CHAR fail:\n"; echo " in: $v_char\n"; echo " out: $row->V_CHAR\n"; } if($row->V_DATE != $v_date) { echo " DATE fail\n"; echo " in: $v_date\n"; echo " out: $row->V_DATE\n"; } if($row->V_DECIMAL != $v_decimal) { echo " DECIMAL fail\n"; echo " in: $v_decimal\n"; echo " out: $row->V_DECIMAL\n"; } if(abs($row->V_DOUBLE - $v_double) > abs($v_double / 1E15)) { echo " DOUBLE fail\n"; echo " in: $v_double\n"; echo " out: $row->V_DOUBLE\n"; } if(abs($row->V_FLOAT - $v_float) > abs($v_float / 1E7)) { echo " FLOAT fail\n"; echo " in: $v_float\n"; echo " out: $row->V_FLOAT\n"; } if($row->V_INTEGER != $v_integer) { echo " INTEGER fail\n"; echo " in: $v_integer\n"; echo " out: $row->V_INTEGER\n"; } if ($row->V_NUMERIC != $v_numeric) { echo " NUMERIC fail\n"; echo " in: $v_numeric\n"; echo " out: $row->V_NUMERIC\n"; } if ($row->V_SMALLINT != $v_smallint) { echo " SMALLINT fail\n"; echo " in: $v_smallint\n"; echo " out: $row->V_SMALLINT\n"; } if ($row->V_VARCHAR != $v_varchar) { echo " VARCHAR fail:\n"; echo " in: $v_varchar\n"; echo " out: $row->V_VARCHAR\n"; } ibase_free_result($sel); }/* for($iter)*/ echo "select\n"; for($iter = 0; $iter < 3; $iter++) { /* prepare data */ $v_char = rand_str(1000); $v_date = (int)rand_number(10,0,0); $v_decimal = rand_number(12,3); $v_double = rand_number(20); $v_float = rand_number(7); $v_integer = rand_number(9,0); $v_numeric = rand_number(4,2); $v_smallint = rand_number(5) % 32767; $v_varchar = rand_str(10000); /* clear table*/ ibase_query("delete from test6"); /* make one record */ ibase_query("insert into test6 (iter, v_char,v_date,v_decimal, v_integer,v_numeric,v_smallint,v_varchar) values (666, '$v_char',?,$v_decimal, $v_integer, $v_numeric, $v_smallint, '$v_varchar')",$v_date); /* test all types */ if(!($sel = ibase_query( "select iter from test6 where v_char = ?", $v_char)) || !ibase_fetch_row($sel)) { echo "CHAR fail\n"; } ibase_free_result($sel); if(!($sel = ibase_query( "select iter from test6 where v_date = ?", $v_date)) || !ibase_fetch_row($sel)) { echo "DATE fail\n"; } ibase_free_result($sel); if(!($sel = ibase_query( "select iter from test6 where v_decimal = ?", $v_decimal)) || !ibase_fetch_row($sel)) { echo "DECIMAL fail\n"; } ibase_free_result($sel); if(!($sel = ibase_query( "select iter from test6 where v_integer = ?", $v_integer)) || !ibase_fetch_row($sel)) { echo "INTEGER fail\n"; } ibase_free_result($sel); if(!($sel = ibase_query( "select iter from test6 where v_numeric = ?", $v_numeric)) || !ibase_fetch_row($sel)) { echo "NUMERIC fail\n"; } ibase_free_result($sel); if(!($sel = ibase_query( "select iter from test6 where v_smallint = ?", $v_smallint)) || !ibase_fetch_row($sel)) { echo "SMALLINT fail\n"; } ibase_free_result($sel); if(!($sel = ibase_query( "select iter from test6 where v_varchar = ?", $v_varchar)) || !ibase_fetch_row($sel)) { echo "VARCHAR fail\n"; } ibase_free_result($sel); } /*for iter*/ echo "prepare and exec insert\n"; /* prepare table */ ibase_query("delete from test6"); /* prepare query */ $query = ibase_prepare( "insert into test6 (v_integer) values (?)"); for($i = 0; $i < 10; $i++) { ibase_execute($query, $i); } out_table("test6"); ibase_free_query($query); echo "prepare and exec select\n"; /* prepare query */ $query = ibase_prepare("select * from test6 where v_integer between ? and ?"); $low_border = 2; $high_border = 6; $res = ibase_execute($query, $low_border, $high_border); out_result($res, "test6"); ibase_free_result($res); $low_border = 0; $high_border = 4; $res = ibase_execute($query, $low_border, $high_border); out_result($res, "test6"); ibase_free_result($res); $res = ibase_execute($query, "5", 7.499); out_result($res, "test6"); ibase_free_result($res); ibase_free_query($query); /* test execute procedure */ $query = ibase_prepare("execute procedure add1(?)"); $res = array(); for ($i = 0; $i < 10; $i++) { $res[] = ibase_execute($query,$i); } ibase_free_query($query); foreach ($res as $r) { out_result($r, "proc add1"); ibase_free_result($r); } ibase_close(); echo "end of test\n"; ?> --EXPECT-- insert select prepare and exec insert --- test6 --- 0 1 2 3 4 5 6 7 8 9 --- prepare and exec select --- test6 --- 2 3 4 5 6 --- --- test6 --- 0 1 2 3 4 --- --- test6 --- 5 6 7 --- --- proc add1 --- 1 --- --- proc add1 --- 2 --- --- proc add1 --- 3 --- --- proc add1 --- 4 --- --- proc add1 --- 5 --- --- proc add1 --- 6 --- --- proc add1 --- 7 --- --- proc add1 --- 8 --- --- proc add1 --- 9 --- --- proc add1 --- 10 --- end of test