PHP : Function Reference : Oracle Functions : oci_fetch_array
Example 1643. 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 1644. 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 1645. 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 1646. 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 } ?>
Examples ( Source code ) » oci_fetch_array
<?
$c = oci_connect("hr", "hrpwd", "//localhost/XE");
$s = oci_parse($c, "select region_name,
regions.region_id as myreg,
country_name,
countries.region_id
from countries
inner join regions
on countries.region_id = regions.region_id");
oci_execute($s);
while ($res = oci_fetch_array($s)) {
echo $res["REGION_NAME"] . " " . $res["MYREG"] . " - " .
$res["COUNTRY_NAME"] . " " . $res["REGION_ID"] . " " .
"<br>\n";
}
?>
The query column alias MYREG is used as the index to the result array. The script output is:
Americas 2 - Argentina 2
Asia 3 - Australia 3
Europe 1 - Belgium 1
Americas 2 - Brazil 2
Americas 2 - Canada 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
}
?>
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
}
?>
robert dot hicks
OCI_NUM should be changed in the various scripts to the appropriate call to the OCI_*. For example the script to show the OCI_ASSOC call still has OCI_NUMS in it.
09-jun-2005 04:13
OCI_BOTH is the default.
If you just need to return all fields, you can leave out OCI_NUM & OCI_ASSOC.
EXAMPLE:
<?php
$connection = ocilogon("user", "password", "dbname");
$query = "SELECT id, name, lob_field FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement)) {
$id = $row['ID'];
$name = $row['NAME'];
$lob_field = $row['LOB_FIELD'];
echo $id.' '.$name.' '.$lob_field;
}
?>
stry_cat
If you want to get both nulls and an assoc array, you have to ADD the values like this:
$row = oci_fetch_array($stmt, OCI_RETURN_NULLS + OCI_ASSOC);
This really should be noted in the text of the manual.
badr
generating dynamic drop down list
<SELECT name="reason" id="vacation_code">
<OPTION value=0 selected>Choose </OPTION>
<?php
$query2 = "SELECT IN_NAME, IN_CODE FROM HR_IN_REASON ";
$statement2 = oci_parse ($conn, $query2);
oci_execute ($statement2);
while ($row = oci_fetch_array ($statement2, OCI_NUM)) {
?>
<option value="<? echo $row[1]; ?>"> <? echo $row[0] ?> </option>
<? }
?>
</select>
dwhitaker
Example 3 above is incorrect...
OCI_NUM should be OCI_ASSOC
So it should read something like this:
<?php
$connection = ocilogon("user", "password", "dbname");
$query = "SELECT id, name, lob_field FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_ASSOC)) {
$id = $row['ID'];
$name = $row['NAME'];
$lob_field = $row['LOB_FIELD'];
echo $id.' '.$name.' '.$lob_field;
}
?>
antonchanning
As Robert Hicks mentioned back in August 2004 there is an error in examples 3 and 4 of this page. The error in example 3 is what dwhitaker and stry_cat address in their notes of 20 May 2005 and 9 June 2005 respectively.
The correct form of example 4 should read:
<?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_RETURN_LOBS)) {
echo $row[0]." ";
echo $row[1]." ";
echo $row['LOB_FIELD']." "; //this will output LOB's content
}
?>
This really should be corrected in the actual documentation...
|
|