(PHP 5, PECL oci8:1.1-1.2.4)
oci_fetch_array — Lit une ligne d'un résultat Oracle sous forme de tableau
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.
Un identifiant de requête OCI valide.
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 .
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.
Exemple 1807. 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
(
$statement
,
OCI_BOTH
)) {
echo
$row
[
0
].
" and "
.
$row
[
'ID'
].
" sont identiques<br>"
;
echo
$row
[
1
].
" and "
.
$row
[
'NAME'
].
" sont identiques<br>"
;
}
?>
Exemple 1808. 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
(
$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 1809. 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
(
$statement
,
OCI_ASSOC
)) {
echo
$row
[
'ID'
].
"<br>"
;
echo
$row
[
'NAME'
].
"<br>"
;
echo
$row
[
'LOB_FIELD'
].
"<br>"
;
//Affiche "Object id #1"
}
?>
Exemple 1810. 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
}
?>
oci_fetch_assoc() |
oci_fetch_object() |
oci_fetch_row() |
oci_fetch_all() |