PHP Doku:: Fetches all result rows as an associative array, a numeric array, or both - mysqli-result.fetch-all.html

Verlauf / Chronik / History: (3) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenMySQL Improved ExtensionThe MySQLi_Result classmysqli_result::fetch_all -- mysqli_fetch_all

Ein Service von Reinhard Neidl - Webprogrammierung.

The MySQLi_Result class

<<mysqli_result::data_seek -- mysqli_data_seek

mysqli_result::fetch_array -- mysqli_fetch_array>>

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0)

mysqli_result::fetch_all -- mysqli_fetch_allFetches all result rows as an associative array, a numeric array, or both

Beschreibung

Objektorientierter Stil

mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )

Prozeduraler Stil

mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )

mysqli_fetch_all() fetches all result rows and returns the result set as an associative array, a numeric array, or both.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

Rückgabewerte

Returns an array of associative or numeric arrays holding result rows.

Ausschließlich native MySQL-Treiber

Nur in mysqlnd verfügbar.

As mysqli_fetch_all() returns all the rows as an array in a single step, it may consume more memory than some similar functions such as mysqli_fetch_array(), which only returns one row at a time from the result set. Further, if you need to iterate over the result set, you will need a looping construct that will further impact performance. For these reasons mysqli_fetch_all() should only be used in those situations where the fetched result set will be sent to another layer for processing.

Siehe auch


3 BenutzerBeiträge:
- Beiträge aktualisieren...
windix at gmail dot com
26.08.2010 4:01
If you get an empty set after calling fetch_all(), make sure the result set cursor is reset to the beginning
andrey at php dot net
10.08.2010 16:38
Return value changed in 5.3.3 - between 5.3.0 and 5.3.2 (incl.) when the result set was empty NULL was returned. 5.3.3+ returns an empty array.
Also, mysqli_fetch_all works only for buffered result sets, which are the default for mysqli_query. MYSQLI_USE_RESULT will be supported in 5.3.4+
However, it makes little sense to use it this way, materialising unbuffered sets. In this case choose STORE_RESULT, and fetch_all won't copy the data, but reference it, as it is stored already in mysqlnd.
kevin at metalaxe dot com
6.01.2009 22:18
If you are getting the following error:

Fatal error: Call to undefined method mysqli_result::fetch_all()

Be sure you didn't miss this line after the procedural call about it requiring mysqlnd



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)