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] [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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