Forum und email

oci_fetch_array

(PHP 5, PECL oci8:1.1-1.2.4)

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

Description

array oci_fetch_array ( resource $statement [, int $mode ] )

Retourne un tableau, qui correspond à la prochaine ligne du résultat.

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

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

Liste de paramètres

statement

Un identifiant de requête OCI valide.

statement

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.

Valeurs de retour

Retourne un tableau avec des indices associatifs et numériques, ou FALSE s'il n'y a plus de ligne dans la requête statement .

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

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

Exemples

Example#1 Exemple avec oci_fetch_array() avec 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 ($statementOCI_BOTH)) {
    echo 
$row[0]." and ".$row['ID']." sont identiques<br>";
    echo 
$row[1]." and ".$row['NAME']." sont identiques<br>";
}
?>

Example#2 Exemple avec oci_fetch_array() avec 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 ($statementOCI_NUM)) {
    echo 
$row[0]."<br>";
    echo 
$row[1]."<br>";
    echo 
$row[2]->read(100)."<br>";  //Affiche les 100 premiers bytes du LOB
}
?>

Example#3 Exemple avec oci_fetch_array() avec OCI_ASSOC example

<?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 ($statementOCI_ASSOC)) {
    echo 
$row['ID']."<br>";
    echo 
$row['NAME']."<br>";
    echo 
$row['LOB_FIELD']."<br>";  //Affiche "Object id #1"
}
?>

Example#4 Exemple avec oci_fetch_array() avec OCI_RETURN_LOBS example

<?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
}
?>