/Drupal 7

public function DatabaseStatementPrefetch::fetchAll

public DatabaseStatementPrefetch::fetchAll($fetch_style = NULL, $fetch_column = NULL, $constructor_args = NULL)


includes/database/prefetch.inc, line 425
Database interface code for engines that need complete control over their result sets. For example, SQLite will prefix some column names by the name of the table. We post-process the data, by renaming the column names using the same convention as…


An implementation of DatabaseStatementInterface that prefetches all data.


public function fetchAll($fetch_style = NULL, $fetch_column = NULL, $constructor_args = NULL) {
  $this->fetchStyle = isset($fetch_style) ? $fetch_style : $this->defaultFetchStyle;
  $this->fetchOptions = $this->defaultFetchOptions;
  if (isset($fetch_column)) {
    $this->fetchOptions['column'] = $fetch_column;
  if (isset($constructor_args)) {
    $this->fetchOptions['constructor_args'] = $constructor_args;

  $result = array();
  // Traverse the array as PHP would have done.
  while (isset($this->currentRow)) {
    // Grab the row in the format specified above.
    $result[] = $this->current();

  // Reset the fetch parameters to the value stored using setFetchMode().
  $this->fetchStyle = $this->defaultFetchStyle;
  $this->fetchOptions = $this->defaultFetchOptions;
  return $result;

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.