|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #45458 oci_fetch_all add NULL char to field name when field name is numeric
Submitted: 2008-07-08 15:14 UTC Modified: 2008-08-28 06:23 UTC
From: leopoldo dot donati at gmail dot com Assigned: sixd
Status: Closed Package: OCI8 related
PHP Version: 5.2.6 OS: Linux RHAS4
Private report: No CVE-ID:
 [2008-07-08 15:14 UTC] leopoldo dot donati at gmail dot com
Server: Oracle9i Enterprise Edition Release
Client: instant client

let's suppose we have a table (t) with 3 columns (a, b, c)
and you want to execute the statement:
select a "10", b "20", c "30" from t

if you parse, execute and then get the records like this:
while ($row = oci_fetch_array($statID, OCI_ASSOC)) $data[] = $row;
when you look at $data[0]["10"] there is a value

if you parse, execute and get the records with oci_fetch_all
$data = oci_fetch_all($statID, $data, 0, -1, OCI_FETCHSTATEMENT_BY_ROW)
if you print_r $data it looks the same but you can't access $data[0]["10"] because there is a NULL after the 10 (at least trying and ord looks like)


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2008-07-08 15:29 UTC] leopoldo dot donati at gmail dot com
I meant
$nr = oci_fetch_all($statID, $data, 0, -1, OCI_FETCHSTATEMENT_BY_ROW);
 [2008-08-28 06:23 UTC]
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

Fixed in PHP 5.3
PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Thu Nov 26 21:01:33 2015 UTC