oci_fetch_all
oci_fetch_assoc
OCI8 함수 목록
PHP Manual

# oci_fetch_array

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch_array — Returns the next row from the result data as an associative or numeric array, or both

### 설명

array oci_fetch_array ( resource `$statement` [, int `$mode` ] )

Returns an array, which corresponds to the next result row.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

It should be mentioned here, that oci_fetch_array() is insignificantly slower, than oci_fetch_row(), but much more handy.

### 인수

`statement`

  A valid OCI statement identifier.

`mode`

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

### 반환값

Returns an array with both associative and numeric indices, or `FALSE` if there are no more rows in the `statement` .

> Note: 이 함수는 NULL 필드를 PHP `NULL` 값으로 설정합니다.

> 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_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
}
?>`

### 참고

- oci_fetch_assoc() - Returns the next row from the result data as an associative array
- oci_fetch_object() - Returns the next row from the result data as an object
- oci_fetch_row() - Returns the next row from the result data as a numeric array
- oci_fetch_all() - Fetches all rows of result data into an array

oci_fetch_all
oci_fetch_assoc
OCI8 함수 목록
PHP Manual