ID: 11437
Updated by: sniper
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Bogus
Old-Bug Type: Unknown/Other Function
Bug Type: *General Issues
Operating system: 
PHP Version: 4.0.5
Assigned To: 
Comments:

This bug system is for reporting bugs in PHP the language,
not anything that has done using it.

Report these bugs to [EMAIL PROTECTED]



Previous Comments:
---------------------------------------------------------------------------

[2001-06-12 11:04:15] [EMAIL PROTECTED]
a snippet from DB_common::getAssoc (PEAR/php/DB/common.php):

if ($cols > 2 || $force_array) {
    // return array values
    // XXX this part can be optimized
    while (($row = $this->fetchRow($res, DB_FETCHMODE_ORDERED))
            && !DB::isError($row)) {
        reset($row);
        // we copy the row of data into a new array
        // to get indices running from 0 again
        $results[$row[0]] = array_slice($row, 1);
    }
} else {
    // return scalar values
    while (($row = $this->fetchRow($res)) && !DB::isError($row)) {
        $results[$row[0]] = $row[1];
    }
}

In the if branch fetchRow is called with "DB_FETCHMODE_ORDERED" to ensure the result 
is indexed by numbers, in the else branch it isn't. I have set the default fetchmode 
to DB_FETCHMODE_ASSOC and so this function (called with a query with 2 columns) won't 
work for me unless I call "$DB->setFetchmode(DB_FETCHMODE_ORDERED)" before.
Conclusion: "$this->fetchRow($res))" should be changed to 
"$this->fetchRow($res,DB_FETCHMODE_ORDERED))"

---------------------------------------------------------------------------



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11437&edit=2


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to