array &queryAll
(
string $query
,
array $types
= null
, integer
$fetchmode
= MDB_FETCHMODE_DEFAULT
, boolean
$rekey
= false
, boolean
$force_array
= false
, boolean
$group
= false
)
Fetch the entire result set of a query and return it into a nested array. The function takes care of doing the query and freeing the results when finished.
$query
the SQL query
$types
if supplied, the types of the columns in the result set will be set for fetching
$fetchmode
the fetch mode to use
$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).
$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 $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.
array
- an nested array or a
MDB_Error, if fail.
Error code | Error message | Reason | Solution |
---|---|---|---|
MDB_ERROR_NO_DB_SELECTED | NULL | No database was chosen. | Check the DSN in connect() . |
MDB_ERROR_TRUNCATED | NULL | The result set contains fewer then two columns | Check the SQL query or choose another query*() 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 statement. Ie. using LIMIT in a SQL-Statement for an Oracle database. |
This function can not be called statically.
query() , limitQuery() , prepareQuery() , executeQuery() , queryRow() , queryOne() , queryCol()