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



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to