php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10341 mysql_fetch_object, $row->0 produces parse error
Submitted: 2001-04-15 20:26 UTC Modified: 2001-04-16 03:54 UTC
From: francis at wpi dot edu Assigned:
Status: Closed Package: MySQL related
PHP Version: 4.0.4pl1 OS: Win 2000
Private report: No CVE-ID: None
 [2001-04-15 20:26 UTC] francis at wpi dot edu
The script:

mysql_pconnect ($dbhost, $dbuser, $dbpass);
$result = mysql_db_query ("database", "select * from tablename");
while ($row = mysql_fetch_object ($result, MYSQL_NUM)) {
    echo $row->0;
    echo $row->1;
}
mysql_free_result ($result);

Generates the error:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `'{'' or `'$'' in d:/htdocs/assets/includes/hs~form_functions.php on line 31

The script below works but not for the general case (different column names):

mysql_pconnect ($dbhost, $dbuser, $dbpass);
$result = mysql_db_query ("database", "select * from tablename");
while ($row = mysql_fetch_object ($result, MYSQL_ASSOC)) {
    echo $row->columnone;
    echo $row->columntwo;
}
mysql_free_result ($result);

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-04-16 03:54 UTC] mathieu@php.net
You're using mysql_fetch_object(). This function
returns an object where its members are named after its corresponding column names.

CREATE TABLE test (
id int4,
name varchar(20) );

Using this table, you would use the following code to
retrieve its data:

$row_obj = mysql_fetch_object($qry_result);
echo $row_obj->name . ' (' . $row_obj->id . ')';

If you want to use numbers to access the columns please use
mysql_fetch_row().

And please, do take a closer look at that manual.

-- Mathieu

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 15:01:56 2024 UTC