PHP Bug with InterBase

From: Date: Tue, 26 Jun 2001 04:05:40 +0000
Subject: PHP Bug with InterBase
Groups: php.db 
Request: Send a blank email to php-db+get-9819@lists.php.net to get a copy of this message
The following bug report was posted to an InterBase newsgroup: ----------- Anyone who are using PHP + Interbase should be aware of this bugs especially when trying to retrieve IB decimal/float data type from a stored procedure(s). I have reproduced this error that seems as a bug on PHP when retrieving data from ib that could be found in the attached file. i tried to execute this query from IBConsole: SELECT * FROM TEST_P; and the result is: 94000581000 85000587000 27058581000 12334547000 12345678000 while PHP shows: -488699512.21 -898758920.19 1288777224.6 -550354888.2 -539223888.2 -------------------------------- TEST.SQL ----------------------- create table test tbvalue decimal(18,3) ); commit work; insert into test values(94000581); insert into test values(85000587); insert into test values(27058581); insert into test values(12334547); insert into test values(1234567; commit work; set term ^; create procedure test_p returns spvalue decimal(18,3) ) as begin for select tbValue from test into :spvalue do begin spvalue = spvalue * 1000; suspend; end end ^ set term ;^ commit work; ------- TEST.PHP ----------------- $dbh = ibase_connect("datacenter:d:/currdata/test.gdb","sysdba","xxxxxxx"); $sql_stat = "select spvalue from test_p;"; $ibqry= ibase_query($dbh, $sql_stat); while ($row = ibase_fetch_row($ibqry)) print $row[0]." "; } ibase_close($dbh); ?> ----------- I've confirmed this on a Windows platform using Apache, PHP 4.05 and Interbase 6.01, however the person reporting this confirmed that the bug is not present in a Linux environment. Any insight is appreciated. Regards, -Jorge

« previous php.db (#9819) next »