downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  

<Predefined ConstantsConnecting Handling>
Last updated: Thu, 26 Jun 2008

Examples

Example #1 Basic query

<?php

  $conn
= oci_connect('hr', 'hr', 'orcl');
  if (!
$conn) {
  
$e = oci_error();
   print
htmlentities($e['message']);
   exit;
  }

 
$query = 'SELECT * FROM DEPARTMENTS';

 
$stid = oci_parse($conn, $query);
  if (!
$stid) {
  
$e = oci_error($conn);
   print
htmlentities($e['message']);
   exit;
  }

 
$r = oci_execute($stid, OCI_DEFAULT);
  if (!
$r) {
  
$e = oci_error($stid);
   echo
htmlentities($e['message']);
   exit;
  }

  print
'<table border="1">';
  while (
$row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
   print
'<tr>';
       foreach (
$row as $item) {
         print
'<td>'.($item?htmlentities($item):' ').'</td>';
       }
       print
'</tr>';
  }
  print
'</table>';

 
oci_close($conn);
?>

Example #2 Insert with bind variables

<?php

 
// Before running, create the table:
  //  CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

 
$conn = oci_connect('scott', 'tiger', 'orcl');

 
$query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

 
$stid = oci_parse($conn, $query);

 
$id = 60;
 
$data = 'Some data';

 
oci_bind_by_name($stid, ':myid', $id);
 
oci_bind_by_name($stid, ':mydata', $data);

 
$r = oci_execute($stid);

  if (
$r)
   print
"One row inserted";

 
oci_close($conn);

?>

Example #3 Inserting data into a CLOB column

<?php

// Before running, create the table:
//    CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('scott', 'tiger', 'orcl');

$mykey = 12343// arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)
       VALUES (:mykey, EMPTY_CLOB())
       RETURNING myclob INTO :myclob"
;

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid, OCI_DEFAULT);

print
'<table border="1">';
while (
$row = oci_fetch_array($stid, OCI_ASSOC)) {
 
$result = $row['MYCLOB']->load();
  print
'<tr><td>'.$result.'</td></tr>';
}
print
'</table>';

?>

You can easily access stored procedures in the same way as you would from the command line.

Example #4 Using Stored Procedures

<?php
// by webmaster at remoterealty dot com
$sth = oci_parse($dbh, "begin sp_newaddress( :address_id, '$firstname',
 '$lastname', '$company', '$address1', '$address2', '$city', '$state',
 '$postalcode', '$country', :error_code );end;"
);

// This calls stored procedure sp_newaddress, with :address_id being an
// in/out variable and :error_code being an out variable.
// Then you do the binding:

  
oci_bind_by_name($sth, ":address_id", $addr_id, 10);
  
oci_bind_by_name($sth, ":error_code", $errorcode, 10);
  
oci_execute($sth);

?>



add a noteadd a note User Contributed Notes
Examples
There are no user contributed notes for this page.




<Predefined ConstantsConnecting Handling>
Last updated: Thu, 26 Jun 2008
show source | credits | sitemap | contact | advertising | mirror sites
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: http://phpbuilder.com/
Last updated: Tue Nov 1 20:20:59 2005 EST
Columns / Articles | Tips / Quickies | News | News Linking and RSS Feeds | Shared Code Library
Mail Archives | Support / Discussion Forums | Get Started! Links | Contribute! | Docs