8.88 Fonctions Oracle
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Configuration à l'exécution . Constantes pré-définies . Exemples . Gestion de la connexion . Types de données supportées par le driver . oci_bind_by_name . oci_cancel . oci_close . OCI-Collection->append . OCI-Collection->assign . OCI-Collection->assignElem . OCI-Collection->free . OCI-Collection->getElem . OCI-Collection->max . OCI-Collection->size . OCI-Collection->trim . oci_commit . oci_connect . oci_define_by_name . oci_error . oci_execute . oci_fetch_all ->oci_fetch_array . oci_fetch_assoc . oci_fetch_object . oci_fetch_row . oci_fetch . oci_field_is_null . oci_field_name . oci_field_precision . oci_field_scale . oci_field_size . oci_field_type_raw . oci_field_type . oci_free_statement . oci_internal_debug . OCI-Lob->append . OCI-Lob->close . oci_lob_copy . OCI-Lob->eof . OCI-Lob->erase . OCI-Lob->export . OCI-Lob->flush . OCI-Lob->free . OCI-Lob->getBuffering . OCI-Lob->import . oci_lob_is_equal . OCI-Lob->load . OCI-Lob->read . OCI-Lob->rewind . OCI-Lob->save . OCI-Lob->saveFile . OCI-Lob->seek . OCI-Lob->setBuffering . OCI-Lob->size . OCI-Lob->tell . OCI-Lob->truncate . OCI-Lob->write . OCI-Lob->writeTemporary . OCI-Lob->writeToFile . oci_new_collection . oci_new_connect . oci_new_cursor . oci_new_descriptor . oci_num_fields . oci_num_rows . oci_parse . oci_password_change . oci_pconnect . oci_result . oci_rollback . oci_server_version . oci_set_prefetch . oci_statement_type . ocibindbyname . ocicancel . ocicloselob . ocicollappend . ocicollassign . ocicollassignelem . ocicollgetelem . ocicollmax . ocicollsize . ocicolltrim . ocicolumnisnull . ocicolumnname . ocicolumnprecision . ocicolumnscale . ocicolumnsize . ocicolumntype . ocicolumntyperaw . ocicommit . ocidefinebyname . ocierror . ociexecute . ocifetch . ocifetchinto . ocifetchistatement . ocifreecollection . ocifreecursor . ocifreedesc . ocifreestatement . ociinternaldebug . ociloadlob . ocilogoff . ocilogon . ocinewcollection . ocinewcursor . ocinewscriptor . ocinlogon . ocinumcols . ociparse . ociplogon . ociresult . ocirollback . ocirowcount . ocisavelob . ocisavelobfile . ociserverversion . ocisetprefetch . ocistatementtype . ociwritelobtofile . ociwritetemporarylob
|
8.88.25 oci_fetch_array()Lit une ligne d'un résultat Oracle sous forme de tableau
[ Exemples avec oci_fetch_array ] PHP 5
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 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 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 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_NUM)) { echo $row['ID'] . '<br />'; echo $row['NAME'] . '<br />'; echo $row['LOB_FIELD'] . '<br />'; //Affiche "Object id #1" } ?>
|
| 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)) { 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
.
|