pg_fetch_all
pg_fetch_assoc
Fonctions PostgreSQL
PHP Manual

# pg_fetch_array

(PHP 4, PHP 5)

pg_fetch_array — Lit une ligne de résultat PostgreSQL dans un tableau

### Description

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

pg_fetch_array() retourne un tableau qui contient la ligne demandée.

pg_fetch_array() est une version évoluée de pg_fetch_row(). En plus de proposer un tableau à indice numérique, elle peut aussi enregistrer les données dans un tableau associatif, en utilisant les noms des champs comme clés. Ces deux fonctions utilisent le tableau associatif par défaut.

> Note: Cette fonction définit les champs NULL à la valeur PHP `NULL`.

pg_fetch_array() n'est pas significativement plus lente que pg_fetch_row() et elle apporte un confort d'utilisation appréciable.

### Liste de paramètres

`result`

  Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre d'autres).

`row`

  Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

`result_type`

  Paramètre optionnel qui contrôle comment sera indexé le array retourné. pg_fetch_array() est une constante, qui peut prendre les valeurs suivantes : `PGSQL_ASSOC`, `PGSQL_NUM` et `PGSQL_BOTH`. En utilisant `PGSQL_NUM`, pg_fetch_array() retourne un tableau avec des indices numériques, en utilisant `PGSQL_ASSOC` retourne uniquement des indices associatifs alors que, `PGSQL_BOTH`, la valeur par défaut, retourne à la fois des indices numériques et associatifs.

### Valeurs de retour

Un tableau à indice numérique (commençant à 0), associatif (indexé avec le nom des champs) ou les deux. Chaque valeur dans le tableau est représentée comme une chaîne ( string ). Les valeurs `NULL` de la base de données sont retournées `NULL`.

`FALSE` est retournée si `row` excède le nombre de lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout autre erreur.

### Historique

Version | Description
--- | ---
4.1.0 | Le paramètre `row` devient optionnel.

### Exemples

Exemple #1 Exemple avec pg_fetch_array()

`<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
echo "Erreur de connexion.\n";
exit;
}
$result = pg_query ($conn, "SELECT auteur, email FROM auteurs");
if (!$result) {
echo "Erreur durant la requête.\n";
exit;
}
$arr = pg_fetch_array ($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Ligne 1 Auteurs\n";
echo $arr[1] . " <- Ligne 1 E-mail\n";
// Depuis PHP 4.1.0, le paramètre row est optionnel ; NULL peut être passé à la place,
// pour passer un result_type. Les appels successifs à pg_fetch_array
// retournera la ligne suivante.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["auteur"] . " <- Ligne 2 Auteur\n";
echo $arr["email"] . " <- Ligne 2 E-mail\n";
$arr = pg_fetch_array($result);
echo $arr["auteur"] . " <- Ligne 3 Auteur\n";
echo $arr[1] . " <- Ligne 3 E-mail\n";
?>`

### Voir aussi

- pg_fetch_row() - Lit une ligne dans un tableau
- pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
- pg_fetch_result() - Retourne les valeurs d'un résultat

pg_fetch_all
pg_fetch_assoc
Fonctions PostgreSQL
PHP Manual