PHP Conference Nagoya 2025

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_arrayВозвращает массив, индексированный по положению столбца, представляющий строку в наборе результатов

Описание

db2_fetch_array(resource $stmt, int $row_number = -1): array|false

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

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

stmt

Допустимый ресурс stmt, содержащий набор результатов.

row_number

Запрашивает конкретную строку по индексу (начинается с 1) из набора результатов. Передача параметра приводит к предупреждению PHP, если в наборе результатов используется курсор "forward-only".

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

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

Примеры

Пример #1 Перебор курсором "forward-only"

Если вы вызываете db2_fetch_array() без определённого номера строки, он автоматически получает следующую строку в наборе результатов.

<?php

$sql
= "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while (
$row = db2_fetch_array($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
}
?>

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

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Пример #2 Получение определённых строк с помощью db2_fetch_array() из прокручиваемого курсора

Если в вашем наборе результатов используется прокручиваемый курсор, вы можете вызвать db2_fetch_array() с определённым номером строки. В следующем примере извлекается каждая вторая строка в наборе результатов, начиная со второй строки.

<?php

$sql
= "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while (
$row = db2_fetch_array($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
$i = $i + 2;
}
?>

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

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

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

  • db2_fetch_assoc() - Возвращает массив, индексированный по имени столбца, представляющий строку в наборе результатов
  • db2_fetch_both() - Возвращает массив, индексированный как по имени столбца, так и по позиции, представляющий строку в наборе результатов
  • db2_fetch_object() - Возвращает объект со свойствами, представляющими столбцы в выбранной строке
  • db2_fetch_row() - Устанавливает указатель набора результатов на следующую строку или запрошенную строку
  • db2_result() - Возвращает один столбец из строки в наборе результатов

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top