Manuel PHP
Précédent |  | Suivant

# oci_fetch_array

(PHP 5)

oci_fetch_array -- Lit une ligne d'un résultat Oracle sous forme de tableau

## Description

array oci_fetch_array ( resource statement [, int mode] )

oci_fetch_array() retourne un tableau qui correspond à la prochaine ligne disponible dans le résultat statement, ou bien `FALSE` en cas d'erreur.

oci_fetch_array() retourne un tableau, indexé numériquement et avec les noms des colonnes.

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

Le paramètre optionnel mode peut être la combinaison des constantes suivantes :

`OCI_BOTH` - retourne une tableau, indexé numériquement et avec les noms de colonnes. Identique à `OCI_ASSOC` + `OCI_NUM`). C'est le comportement par défaut.
`OCI_ASSOC` - retourne un tableau associatif. C'est le même comportement que celui de la fonction oci_fetch_assoc().
`OCI_NUM` - retourne un tableau indexé numériquement, C'est le même comportement que celui de la fonction oci_fetch_row().
`OCI_RETURN_NULLS` - Crée des éléments vides pour les valeurs `NULL`.
`OCI_RETURN_LOBS` - Retourne la valeur du LOB.

La configuration par défaut de mode est `OCI_BOTH`.

Il faut mentionner ici que oci_fetch_array() n'est pas significativement plus lente que oci_fetch_row(), mais bien plus pratique.

> Note : Oracle retourne tous les noms de champs en majuscules, et les noms des index du tableau résultant seront donc aussi en majuscules.

Exemple 1. Exemple avec oci_fetch_array() et `OCI_BOTH`

`<?php $connection = oci_connect("apelsin", "kanistra"); $query = "SELECT id, name FROM fruits"; $statement = oci_parse ($connection, $query); oci_execute ($statement); while ($row = oci_fetch_array ($statement, OCI_BOTH)) { echo $row[0] . ' et ' . $row['ID'] . ' sont identiques<br />'; echo $row[1] . ' et ' . $row['NAME'] . ' sont identiques<br />'; } ?>`

Exemple 2. Exemple avec oci_fetch_array() et `OCI_NUM`

`<?php $connection = oci_connect("user", "password"); $query = "SELECT id, name, lob_field FROM fruits"; $statement = oci_parse ($connection, $query); oci_execute ($statement); while ($row = oci_fetch_array ($statement, OCI_NUM)) { echo $row[0] . '<br />'; echo $row[1] . '<br />'; echo $row[2]->read(100) . '<br />'; //Affiche les 100 premiers bytes du LOB } ?>`

Exemple 3. Exemple avec oci_fetch_array() et `OCI_ASSOC`

`<?php $connection = oci_connect("user", "password"); $query = 'SELECT id, name, lob_field FROM fruits'; $statement = oci_parse ($connection, $query); oci_execute ($statement); while ($row = oci_fetch_array ($statement, OCI_ASSOC)) { echo $row['ID'] . '<br />'; echo $row['NAME'] . '<br />'; echo $row['LOB_FIELD'] . '<br />'; //Affiche "Object id #1" } ?>`

Exemple 4. Exemple avec oci_fetch_array() et `OCI_RETURN_LOBS`

`<?php $connection = oci_connect("user", "password"); $query = 'SELECT id, name, lob_field FROM fruits'; $statement = oci_parse ($connection, $query); oci_execute ($statement); while ($row = oci_fetch_array ($statement, (OCI_NUM+OCI_RETURN_LOBS))) { echo $row[0] . '<br />'; echo $row[1] . '<br />'; echo $row['LOB_FIELD'] . '<br />'; //Affiche le contenu du LOB } ?>`

Pour plus de détails sur le mapping des types de données affectué par le driver oci8, lisez les types de données supportés par le driver

Voir aussi oci_fetch_assoc(), oci_fetch_object(), oci_fetch_row() et oci_fetch_all().

Précédent | Sommaire | Suivant
oci_fetch_all | Niveau supérieur | oci_fetch_assoc