oci_fetch_array oci_fetch_array (PHP 5)
oci_fetch_array -- Returns the next row from the result data as an associative or
numeric array, or both
Description array
oci_fetch_array ( resource statement [, int mode] )
Returns an array, which corresponds to the next result row or FALSE in
case of error or there are no more rows in the result.
oci_fetch_array() returns an array with both
associative and numeric indices.
Note: This function sets NULL fields to
PHP NULL value.
An optional second parameter can be any combination of the following
constants:
OCI_BOTH - return an array with both associative
and numeric indices (the same as OCI_ASSOC
+ OCI_NUM ). This is the default behavior.
OCI_ASSOC - return an associative array
(as oci_fetch_assoc() works).
OCI_NUM - return a numeric array,
(as oci_fetch_row() works).
OCI_RETURN_NULLS - create empty elements
for the NULL fields.
OCI_RETURN_LOBS - return the value of a LOB
of the descriptor.
Default
mode is
OCI_BOTH .
It should be mentioned here, that oci_fetch_array()
is insignificantly slower, than
oci_fetch_row() , but much more handy.
Note:
Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.
Example 1. oci_fetch_array() with OCI_BOTH example
<?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' ]. " is the same<br>" ; echo $row [ 1 ]. " and " . $row [ 'NAME' ]. " is the same<br>" ; } ?>
Example 2. oci_fetch_array() with
OCI_NUM 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 )) { echo $row [ 0 ]. "<br>" ; echo $row [ 1 ]. "<br>" ; echo $row [ 2 ]-> read ( 100 ). "<br>" ; //this will output first 100 bytes from LOB } ?>
Example 3. oci_fetch_array() with
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_NUM )) { echo $row [ 'ID' ]. "<br>" ; echo $row [ 'NAME' ]. "<br>" ; echo $row [ 'LOB_FIELD' ]. "<br>" ; //this will output "Object id #1" } ?>
Example 4. oci_fetch_array() with
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 )) { echo $row [ 0 ]. "<br>" ; echo $row [ 1 ]. "<br>" ; echo $row [ 'LOB_FIELD' ]. "<br>" ; //this will output LOB's content } ?>
For details on the data type mapping performed by
the oci8 driver, see the datatypes
supported by the driver
See also oci_fetch_assoc() ,
oci_fetch_object() ,
oci_fetch_row() and
oci_fetch_all() .