|  | 
 oci_new_cursor    (no version information, might be only in CVS) oci_new_cursor -- Allocates and returns a new cursor (statement handle)Descriptionresource oci_new_cursor  ( resource connection) 
     oci_new_cursor() allocates a new statement handle on
     the specified connection.
     
      | 例子 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);
 ?>
 | 
 | 
 
      | 例子 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.
    
 |  |