Search DaTutorials:  
HOME
Php Tutorials
Articles
Basics
Date and Time
File Manipulations
Forms
Functions
General
Interactivity
MySql
Navigation
News,Shoutboxes and Blogs
Language Structure and Data Types
Searching
Security
String Manipulation
User Information and Stats
Search For a Tutorial
Php Reference

oci_new_cursor

(PHP 5)

oci_new_cursor -- Allocates and returns a new cursor (statement handle)

Description

resource oci_new_cursor ( resource connection)

oci_new_cursor() allocates a new statement handle on the specified connection.

Example 1. Using REF CURSOR in an Oracle's stored procedure

<?php 
// suppose your stored procedure info.output returns a ref cursor in :data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while (
$data = oci_fetch_row($curs)) {
  
var_dump($data);
}
 
oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

Example 2. Using REF CURSOR in an Oracle's select statement

<?php 
echo "<html><body>";
$conn = oci_connect("scott", "tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
              
"where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = oci_parse($conn, "select deptno,dname,$count_cursor");

oci_execute($stmt);
echo
"<table border=\"1\">";
echo
"<tr>";
echo
"<th>DEPT NAME</th>";
echo
"<th>DEPT #</th>";
echo
"<th># EMPLOYEES</th>";
echo
"</tr>";

while (
$data = oci_fetch_assoc($stmt)) {
   echo
"<tr>";
  
$dname  = $data["DNAME"];
  
$deptno = $data["DEPTNO"];
   echo
"<td>$dname</td>";
   echo
"<td>$deptno</td>";
  
oci_execute($data["EMPCNT"]);
   while (
$subdata = oci_fetch_assoc($data["EMPCNT"])) {
      
$num_emps = $subdata["NUM_EMPS"];
       echo 
"<td>$num_emps</td>";
   }
   echo
"</tr>";
}
echo
"</table>";
echo
"</body></html>";
oci_free_statement($stmt);
oci_close($conn);
?>

oci_new_cursor() returns FALSE on error.

Note: In PHP versions before 5.0.0 you must use ocinewcursor() instead. This name still can be used, it was left as alias of oci_new_cursor() for downwards compatability. This, however, is deprecated and not recommended.



Copyright © 2001-2004 The PHP Group
All rights reserved.

     Credit Cards | Electricity Suppliers | Per Insurance | Personal Loans | Mobile Phone
Home     Link To Us     Ad With Us     Contact Us     Tell A Friend     Affiliates     Blog     MsOfficeHelp