文字

oci_fetch_assoc

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_assocReturns the next row from a query as an associative array

说明

array oci_fetch_assoc ( resource $statement )

Returns an associative array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns FALSE , indicating no more rows exist.

Calling oci_fetch_assoc() is identical to calling oci_fetch_array() with OCI_ASSOC + OCI_RETURN_NULLS .

参数

statement

有效的 OCI8 报表标识符 由 oci_parse() 创建,被 oci_execute() REF CURSOR statement 标识执行。

返回值

Returns an associative array. If there are no more rows in the statement then FALSE is returned.

范例

Example #1 oci_fetch_assoc() Example

<?php

$conn 
oci_connect ( 'hr' 'welcome' 'localhost/XE' );
if (!
$conn ) {
    
$e  oci_error ();
    
trigger_error ( htmlentities ( $e [ 'message' ],  ENT_QUOTES ),  E_USER_ERROR );
}

$stid  oci_parse ( $conn 'SELECT department_id, department_name FROM departments' );
oci_execute ( $stid );

while ((
$row  oci_fetch_assoc ( $stid )) !=  false ) {
    echo 
$row [ 'DEPARTMENT_ID' ] .  " "  $row [ 'DEPARTMENT_NAME' ] .  "<br>\n" ;
}

oci_free_statement ( $stid );
oci_close ( $conn );

?>

注释

Note:

See oci_fetch_array() for more examples of fetching rows.

参见

  • oci_fetch() - Fetches the next row into result-buffer
  • oci_fetch_all() - 获取结果数据的所有行到一个数组
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array

用户评论:

[#1] Dawid Krysiak [2014-01-03 13:31:42]

Unlike oci_fetch_all(), after using oci_fetch_assoc(), LOB columns (CLOB, BLOB) are NOT returned as strings but as Oci-Lob objects. You have to use Oci-Lob->read() or load() method in order to read column content.

[#2] dbernhardt129 at gmail dot com [2010-10-06 14:11:12]

Here's a simple example of using the oci_fetch_assoc function for anyone who would like to see it.

<?php
$oconn 
oci_connect('ora_user','ora_pass','ora_inst');
if (!
$oconn){
  
$msg "Cannot connect to Oracle ".oci_error();
} else {
  
$msg "Connected to Oracle";
}

$select_stmt "select username from user_table";

$stid oci_parse($oconn$select_stmt);
oci_execute($stid);

echo 
"<table border='1'>\n";

while (
$row oci_fetch_assoc($stid)) {
    echo 
"<tr>\n";
    echo 
"<td>"$row["USERNAME"] . "</td>\n";
    echo 
"</tr>\n";
 }

echo 
"</table>\n";

oci_free_statement($stid);
oci_close($oconn);
?>


Make sure you capitalize the column name for referencing the item in the associative array.  Of course, this is just a simple example and you might want to do some processing on the data prior to output, but you get the idea here.

上一篇: 下一篇: