• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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.

    参见

    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.