MDB_Common::fetchAll()

MDB_Common::fetchAll() -- fetch result set as a nested array

Synopsis

require_once 'MDB.php';

array &fetchAll (resource $result, integer [$fetchmode = MDB_FETCHMODE_DEFAULT], boolean [$rekey = FALSE], boolean [$force_array = FALSE], boolean [$group = FALSE])

Description

Fetch the entire result set of a result set and return it into a nested array and free the result set.

Parameter

resource $result

a valid resource returned by query() or executeQuery()

integer $fetchmode

the fetch mode to use

boolean $rekey

if set to TRUE the array result be modified as follows: If the result set contains more than two columns, the value will be an array of the values from column 2 to n. If the result set contains only two columns, the returned value will be a scalar with the value of the second column (unless forced to an array with the $force_array parameter).

boolean $force_array

used only if the query returns exactly two columns. If TRUE, the values of the returned array will be one-element arrays instead of scalars.

boolean boolean $group

if TRUE, the values of the returned array is wrapped in another array. If the same key value (in the first column) repeats itself, the values will be appended to this array instead of overwriting the existing values.

Return value

array - an nested array or a MDB_Error, if fail.

Throws

Table 33-1. Possible PEAR_Error values

Error codeError messageReasonSolution
MDB_ERROR_TRUNCATED NULL The result set contains fewer then two columns Check the SQL fetch or choose another fetch*() function
every other error code  Database specific error Check the database related section of PHP-Manual to detect the reason for this error. In the most cases a misformed SQL statment. Ie. using LIMIT in a SQL-Statment for an Oracle database.

Note

This function can not be called statically.

See

query() , limitQuery() , prepareQuery() , executeQuery() , fetchRow() , fetchOne() , fetchCol()