pg_fetch_array

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

pg_fetch_array - извлекает ряд как массив.

Описание

array pg_fetch_array (resource result, int row [, int result_type])

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

pg_fetch_array() это расширенная версия pg_fetch_row(). В дополнение к хранению данных в числовых индексах (field index) в результирующем массиве, она также хранит данные в ассоциативных индексах (field name) по умолчанию.

row это номер запрашиваемого ряда (записи). Первый ряд 0.

result_type это необязательный параметр, управляющий тем, как инициализируется return-значение. result_type это константа, которая может принимать следующие значения: PGSQL_ASSOC, PGSQL_NUM и PGSQL_BOTH.

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

pg_fetch_array() возвращает ассоциативный массив, имеющий имя поля в качестве ключа с PGSQL_ASSOC, индекс поля в качестве ключа с PGSQL_NUM и оба name/index поля в качестве ключа с PGSQL_BOTH. По умолчанию PGSQL_BOTH.

Примечание: result_type был введён в PHP 4.0.

pg_fetch_array() НЕСКОЛЬКО медленнее, чем pg_fetch_row(), но значительно проще в использовании.

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

Примечание: начиная с 4.1.0, row стал необязательным. Вызов pg_fetch_array() увеличивает внутренний счётчик рядов на 1.

Пример 1. Извлечение ряда PostgreSQL
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
    echo "An error occured.\n";
    exit;
}

$result = pg_query ($conn, "SELECT * FROM authors");
if (!$result) {
    echo "An error occured.\n";
    exit;
}

$arr = pg_fetch_array ($result, 0, PGSQL_NUM);
echo $arr[0] . " <- array\n";

$arr = pg_fetch_array ($result, 1, PGSQL_ASSOC);
echo $arr["author"] . " <- array\n";
Пример 2. pg_fetch_array()
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Row 1 Author\n";
echo $arr[1] . " <- Row 1 E-mail\n";

// As of PHP 4.1.0, the row parameter is optional; NULL can be passed instead,
// to pass a result_type.  Successive calls to pg_fetch_array will return the
// next row.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Row 2 Author\n";
echo $arr["email"] . " <- Row 2 E-mail\n";

$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Row 3 Author\n";
echo $arr[1] . " <- Row 3 E-mail\n";

Смотрите также pg_fetch_row(), pg_fetch_object() и pg_fetch_result().

Все функции PostgreSQL
Описание на ru2.php.net
Описание на php.ru