php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #27470 Unexpected content of an array generated by the dbase_get_record()
Submitted: 2004-03-02 18:23 UTC Modified: 2004-03-04 09:56 UTC
Votes:4
Avg. Score:4.5 ± 0.9
Reproduced:1 of 2 (50.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: carlos at qualinfo dot com dot br Assigned:
Status: Wont fix Package: dBase related
PHP Version: 4.3.4 OS: Linux MDK9.1 / WindowsXP PRO SP1
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
MUST BE VALID
Solve the problem:
46 - 21 = ?
Subscribe to this entry?

 
 [2004-03-02 18:23 UTC] carlos at qualinfo dot com dot br
Description:
------------
This bug already was reported (bug # 4244), but was closed due to missing user feedback.

When I try to print the content of an array - created for the functions dbase_get_records() or dbase_get_records_by_name(), script returns trash (each time a different trash).

Notes: 
(1) This problem does not happen with all archives DBF that I try to list;
(2) The archives (.DBF) are not corrupted;
(3) The garbage that appears includes, also, parts of proper script PHP (parts of functions, variable, etc.);
(4) In both the tested operational systems (Windows and Linux), the result is the same;
(5) Another version of the PHP was used (4.3.2), the result was the same;

Linux:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-dbase

Windows:
Default with php_dbase.dll.

(sorry for bad english)

Reproduce code:
---------------
$dbname1 = "/usr/temp/AAPFUN01.DBF";
$con1 = dbase_open($dbname1,0);

$rows   = dbase_numrecords($con1);
$fields = dbase_numfields($con1);

for ($i=1;$i<=$rows;$i++) {
  $registro = dbase_get_record($con1,$i) or die("erro");

  for ($x=0; $x < $fields; $x++) {
    $teste = $registro[$x];
    echo($teste . "<br>");
  }
}

dbase_close($con1);

Expected result:
----------------
For example, in key #17 of the array, the expected result:

'20020301' (date type field)





Actual result:
--------------
But the actual result is:

'200203011995090101                    1       0.000 0     240.00     160.0014220219750811        10   020245AL   15  49800238163644712550714425 ...(etc.)'

(this result is the rest of the fields (keys) concatenated. the next key is trash, until the end of array).



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-03-03 04:31 UTC] derick@php.net
Please provide an URL to the DBF file in question.
 [2004-03-04 03:30 UTC] derick@php.net
Assigning to the extensions' maintainer.
 [2004-03-04 09:56 UTC] jimw@php.net
the dbase extension is unmaintained.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 13:01:28 2024 UTC