oci_fetch_assoc

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_assocReturns the next row from a query as an associative array

Description

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.

Parameters

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

Return Values

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

Examples

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);

?>

Notes

Note:

See oci_fetch_array() for more examples of fetching rows.

See Also

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • 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

add a note add a note

User Contributed Notes 3 notes

up
2
dbernhardt129 at gmail dot com
4 years ago
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.
up
0
test at yahoo dot com
3 days ago
<html>
<head>
<?php include("includes/connect.php");?>
<title>Remediëringsoefening</title>
</head>
<body>
<?php
// eerste keuzemenu
$sqlEerste = "SELECT * FROM vakken";
$strResult = $mysqli->query($sqlEerste);
$strAntw1 = "";

while(
$rij=$strResult->fetch_assoc()){
   
$strID = $rij['vakid'];
   
$strVoluit = $rij['voluit'];
   
$strAntw1 .= "<option value='$strID'>$strVoluit</option>";
}
$strKeuze1 = "<select name='Keuze1'><option value='' disabled selected style='display:none;'>Kies vak</option>" . "$strAntw1" . "</select>";
$strForm1 = "<form method='POST'>" . $strKeuze1 . " <input type = 'SUBMIT' value='SUBMIT' name='btnSubmit1'></form>";
echo
$strForm1;

// tweede keuzemenu

if(isset($_POST['btnSubmit1'])){

$vakid = $_POST['Keuze1'];
$sqlTweede = "SELECT * FROM leerkrachten JOIN leerkrachtpervak ON leerkrachten.leerkrachtid = leerkrachtpervak.leerkrachtid WHERE vakid = '$vakid'";
$strResult2 = $mysqli->query($sqlTweede);
$strAntw2 = "";

while(
$rij2=$strResult2->fetch_assoc()){
   
$strID2 = $rij2['leerkrachtid'];
   
$strVoornaam = $rij2['voornaam'];
   
$strAchternaam = $rij2['naam'];
   
$strAntw2 .= "<option value='$strID2'>$strVoornaam $strAchternaam</option>";
}
$strKeuze2 = "<select name='Keuze2'><option value='' disabled selected style='display:none;'>Kies leerkracht</option>" . "$strAntw2" . "</select>";
$strForm2 = $strKeuze2;
echo
$strForm2;

}
?>
</body>
</html>
up
0
Dawid Krysiak
1 year ago
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.
To Top