PHP ��U
前一頁 |  | 下一頁

# 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.

> 注: 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.

> 注: Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.

範例 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>"; } ?>`

範例 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 } ?>`

範例 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" } ?>`

範例 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 } ?>`

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().

前一頁 | 內容 | 下一頁
oci_fetch_all | 上一層 | oci_fetch_assoc