Выбирает все строки из результирующего набора и помещает их в ассоциативный массив, обычный массив или в оба


mysqli_fetch_all

(PHP 5 >= 5.3.0)

mysqli_result::fetch_all -- mysqli_fetch_all Выбирает все строки из результирующего набора и помещает их в ассоциативный массив, обычный массив или в оба

Описание

Объектно-ориентированный стиль

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

Процедурный стиль

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

mysqli_fetch_all() извлекает все строки из результирующего набора и помещает их в ассоциативный массив, обычный массив или в оба.

Список параметров

result

Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().

resulttype

Этот необязательный параметр принимает значение константы, которая указывает на тип массива, в который требуется поместить данные. Возможные значения параметра: MYSQLI_ASSOC, MYSQLI_NUM или MYSQLI_BOTH.

Возвращаемые значения

Возвращает массив содержащий ассоциативные или обычные массивы с данными результирующей таблицы.

Только для MySQL Native Driver

Доступно только с расширением mysqlnd.

Так как mysqli_fetch_all() сразу возвращает все строки в виде массива, это может заметно увеличить расходы памяти, нежели несколько запусков функций, вроде mysqli_fetch_array(), которые помещают в массив только одну строку результирующей таблицы. С другой стороны, если требуется многократно переходить от одной строки к другой и выбирать при этом по одной строке, придется каждый раз конструировать новый массив, что тоже не добавит быстродействия. Поэтому, mysqli_fetch_all() нужно использовать только в тех ситуациях, когда весь результирующий набор будет передаваться для обработки в какое-то другое место.

Смотрите также

  • mysqli_fetch_array() - Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба
  • mysqli_query() - Выполняет запрос к базе данных