#41913 [Opn->Fbk]: dbase functions return not all records from a dbf file
| From: | tony2001@php.net | Date: | Fri, 06 Jul 2007 09:17:40 +0000 |
| Subject: | #41913 [Opn->Fbk]: dbase functions return not all records from a dbf file | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-114707@lists.php.net to get a copy of this message | ||
ID: 41913
Updated by: tony2001@php.net
Reported By: sdmaster at mail dot ru
-Status: Open
+Status: Feedback
Bug Type: dBase related
Operating System: Windows XP SP2
PHP Version: 5.2.3
New Comment:
Both PHP and dbview output 5 (five) records.
Previous Comments:
------------------------------------------------------------------------
[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