oci_fetch_array
(PHP 5, PECL oci8:1.1-1.2.4)
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
] )
For details on the data type mapping performed by
the oci8 driver, see the datatypes
supported by the driver
It should be mentioned here, that oci_fetch_array()
is insignificantly slower, than
oci_fetch_row(), but much more handy.
Parameters
-
statement
-
A valid OCI statement identifier.
-
statement
-
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.
Return Values
Returns an array with both associative and numeric indices, or FALSE if
there are no more rows in the statement
.
Note: This function sets NULL fields to
the PHP NULL value.
Note:
Oracle returns all field names in uppercase and associative indices in
the result array will be uppercased too.
Examples
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_ASSOC)) {
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+OCI_RETURN_LOBS))) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row['LOB_FIELD']."<br>"; //this will output LOB's content
}
?>