oci_fetch_assoc()
(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
Returns the next row from a query as an associative array
说明
oci_fetch_assoc(resource $statement): array
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 CURSORstatement 标识执行。
返回值
Returns an associative array. If there are no more rows in the$statementthen 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-bufferoci_fetch_all()
获取结果数据的所有行到一个数组oci_fetch_array()
Returns the next row from a query as an associative or numeric arrayoci_fetch_object()
Returns the next row from a query as an objectoci_fetch_row()
Returns the next row from a query as a numeric array
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.
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.