ID:               35366
 Comment by:       tm at nanosoft dot com dot pl
 Reported By:      sl898 at poczta dot onet dot pl
 Status:           Open
 Bug Type:         InterBase related
 Operating System: Windows 2000/2003
 PHP Version:      5CVS-2005-11-24 (snap)
 New Comment:

I found that after change a php.ini file
from
magic_quotes_runtime = On
to
magic_quotes_runtime = Off
everything is ok, and empty fields from database are as expected.


Previous Comments:
------------------------------------------------------------------------

[2005-11-24 15:45:15] sl898 at poczta dot onet dot pl

Description:
------------
Functions ibase_fetch_object, ibase_fetch_row return wrong values when
there is an empty string ('') in firebird table. When there is a 'null'
value in the table this problem doesn't occure. 
PHP ver. 5.0.0 works fine, problem is in ver 5.0.4 and higher.
In this example in record number 3 there is value from record number 1
instead of empty string ('').




Reproduce code:
---------------
CREATE TABLE test_table (test_field VARCHAR(10))
Insert 4 records into test_table

rec_no|test_field
------------------
 1    | 'test1'
 2    | 'test2'
 3    | ''
 4    | 'test4'
------------------

$sql_string = "SELECT test_field FROM test_table";
$connection = ibase_connect($database, $user, $pass);

$dbo = ibase_query($connection, $sql_string);

while ( $oRow = ibase_fetch_object($dbo) )
{
   var_dump($oRow);
}


Expected result:
----------------
{ ["TEST_FIELD"]=> string(5) "test1" } 
{ ["TEST_FIELD"]=> string(5) "test2" } 
{ ["TEST_FIELD"]=> string(0) "" } 
{ ["TEST_FIELD"]=> string(5) "test4" } 


Actual result:
--------------
{ ["TEST_FIELD"]=> string(5) "test1" } 
{ ["TEST_FIELD"]=> string(5) "test2" } 
{ ["TEST_FIELD"]=> string(5) "test1" } 
{ ["TEST_FIELD"]=> string(5) "test4" } 




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=35366&edit=1

Reply via email to