#41913 [Bgs]: dbase functions return not all records from a dbf file
| From: | sdmaster at mail dot ru | Date: | Fri, 06 Jul 2007 15:55:55 +0000 |
| Subject: | #41913 [Bgs]: dbase functions return not all records from a dbf file | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-114733@lists.php.net to get a copy of this message | ||
ID: 41913
User updated by: sdmaster at mail dot ru
Reported By: sdmaster at mail dot ru
Status: Bogus
Bug Type: dBase related
Operating System: Windows XP SP2
PHP Version: 5.2.3
New Comment:
so the question remains.. will this be considered a bug of the
php_dbase extension and eventually fixed, or the result of dbview will
keep being a standard that php_dbase will stick to?
Previous Comments:
------------------------------------------------------------------------
[2007-07-06 13:43:47] tony2001@php.net
Well, then there is apparently some problem with the DBF file since not
only PHP, but the dbview tool does not show this 6th record.
------------------------------------------------------------------------
[2007-07-06 13:05:11] sdmaster at mail dot ru
note that the sample dbf has in fact 6 (six) records!
I use dbf viewer 2000
------------------------------------------------------------------------
[2007-07-06 09:17:40] tony2001@php.net
Both PHP and dbview output 5 (five) records.
------------------------------------------------------------------------
[2007-07-06 08:21:20] sdmaster at mail dot ru
Description:
------------
I'm using Apache 2.2.4, php 5.2.3 loaded with LoadModule. php_dbase
extension v5.2.3.3. Apache is run from a local administrator's account.
after I open a dbf file and use dbase_numrecords() to retrieve number
of records in the file, it returns a number that is randomly less than
actual by 1, 2 or 3. accordingly, dbase_get_record_with_names() doesn't
want to get, i.e., 23-th record from a 24-records dbf file.
a sample dbf file is created by Delphi 7 TDbf component v6.9 and
contains russian characters in string fields.
at the same time such tools as DBV Viewer or like show everything
correctly.
reference to the sample dbf file lies inside comments in the posted php
code.
Reproduce code:
---------------
<?
/*
a simple php code, purely from examples
test file is generated by TDbf Delphi 7 component
a sample dbf file, which is reported by php dbase functions to
have 1 records less than actual, could be taken from here:
http://b64.hopto.org/test.dbf
*/
if ($db = dbase_open('c:\temp\test.dbf', 0)) {
$rn = dbase_numrecords($db);
for ($i = 1; $i<=$rn; $i++) {
$row=dbase_get_record_with_names($db, $i);
print_r($row);
}
dbase_close($db);
}
?>
Expected result:
----------------
all records from dbf file
Actual result:
--------------
all records except the last one
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41913&edit=1