8.103 PostgreSQL
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Notes . Exemples . pg_affected_rows . pg_cancel_query . pg_client_encoding . pg_close . pg_connect . pg_connection_busy . pg_connection_reset . pg_connection_status . pg_convert . pg_copy_from . pg_copy_to . pg_dbname . pg_delete . pg_end_copy . pg_escape_bytea . pg_escape_string . pg_execute . pg_fetch_all_columns . pg_fetch_all ->pg_fetch_array . pg_fetch_assoc . pg_fetch_object . pg_fetch_result . pg_fetch_row . pg_field_is_null . pg_field_name . pg_field_num . pg_field_prtlen . pg_field_size . pg_field_type_oid . pg_field_type . pg_free_result . pg_get_notify . pg_get_pid . pg_get_result . pg_host . pg_insert . pg_last_error . pg_last_notice . pg_last_oid . pg_lo_close . pg_lo_create . pg_lo_export . pg_lo_import . pg_lo_open . pg_lo_read_all . pg_lo_read . pg_lo_seek . pg_lo_tell . pg_lo_unlink . pg_lo_write . pg_meta_data . pg_num_fields . pg_num_rows . pg_options . pg_parameter_status . pg_pconnect . pg_ping . pg_port . pg_prepare . pg_put_line . pg_query_params . pg_query . pg_result_error_field . pg_result_error . pg_result_seek . pg_result_status . pg_select . pg_send_execute . pg_send_prepare . pg_send_query_params . pg_send_query . pg_set_client_encoding . pg_set_error_verbosity . pg_trace . pg_transaction_status . pg_tty . pg_unescape_bytea . pg_untrace . pg_update . pg_version
|
8.103.28 pg_fetch_array()
Lit une ligne de résultat PostgreSQL dans un tableau
[ Exemples avec pg_fetch_array ] PHP 3 >= 3.0.1, PHP 4, PHP 5
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.
| Note | |
row
est devenu optionnel depuis PHP 4.1.0.
|
| Note | |
result_type
a été ajouté en
PHP 4.0.0.
|
-
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.
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.
| 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";
?>
|
|