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 Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: carlos at qualinfo dot com dot br
New email:
PHP Version: OS:

 

 [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

Pull Requests

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 Nov 21 15:01:30 2024 UTC