mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_row -- mysqli_fetch_rowВыбирает следующую строку из набора результатов и помещает её в обычный массив

Описание

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

public mysqli_result::fetch_row(): array|null|false

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

mysqli_fetch_row(mysqli_result $result): array|null|false

Выбирает одну строку данных из результирующего набора и возвращает её в виде массива, в котором индексы элементов соответствуют номерам столбцов (начиная с 0). Каждый последующий вызов функции будет возвращать массив с данными следующей строки набора или null, если строки закончились.

Замечание: Эта функция устанавливает NULL-поля в значение null PHP.

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

result

Только для процедурного стиля: объект mysqli_result, который вернула функция mysqli_query(), mysqli_store_result(), mysqli_use_result() или mysqli_stmt_get_result().

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

Возвращает нумерованный массив, представляющий выбранную строку, null, если в наборе результатов больше нет строк или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования mysqli_result::fetch_row()

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

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* получение массива объектов */
while ($row = $result->fetch_row()) {
printf("%s (%s)\n", $row[0], $row[1]);
}

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

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($mysqli, $query);

/* получение ассоциативного массива */
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s)\n", $row[0], $row[1]);
}

Результат выполнения приведённых примеров:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

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

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

add a note add a note

User Contributed Notes 4 notes

up
18
Stephen
17 years ago
It's worth noting that the MySQLi functions (and, I presume, the MySQL functions) fetch a string regardless of the MySQL data type. E.g. if you fetch a row with an integer column, the corresponding value for that column and row will still be stored as a string in the array returned by mysql_fetch_row.
up
3
sainthyoga2003 at gmail dot com
10 years ago
Note that mysqli_fetch() is deprecated but still is in PHP function list. mysqli_fetch_row() is nowadays mysql procedural style used, but is not listed in PHP functions.
up
3
maillist at pnpitalia.it
20 years ago
from "README.PHP4-TO-PHP5-THIN-CHANGES"

4. Be careful when porting from ext/mysql to ext/mysqli. The following
   functions return NULL when no more data is available in the result set
   (ext/mysql's functions return FALSE).

    - mysqli_fetch_row()
    - mysqli_fetch_array()
    - mysqli_fetch_assoc()
up
2
evangun2001 at yahoo dot fr
17 years ago
Remember that fetch() and fetch_row() are two different things, and differ in the way to use them.

- fetch() is used on a statement (like an executed prepared statement) and needs to be used in association with bind_result().

- fetch_row() is used on a result (like the result of query()).

As a consequence, if you want to use to use fetch_row() with an executed prepared statement, first you'll have to get the result out of this statement with mysqli_store_result() or mysqli_use_result().
To Top