   #PHP Manual Oracle 8 functions ocinewcollection ocinewdescriptor

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                 ocinewcursor

   (PHP 3>= 3.0.8, PHP 4 )
   ocinewcursor --  Return a new cursor (Statement-Handle)

Description

   resource ocinewcursor ( resource conn)

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

   Example 1. Using a REF CURSOR from a stored procedure in Oracle
   <?php
   // suppose your stored procedure info.output returns a ref cursor in
   :data
   $conn = OCILogon("scott", "tiger");
   $curs = OCINewCursor($conn);
   $stmt = OCIParse($conn, "begin info.output(:data); end;");
   ocibindbyname($stmt, "data", &$curs, -1, OCI_B_CURSOR);
   ociexecute($stmt);
   ociexecute($curs);
   while (OCIFetchInto($curs, &$data)) {
       var_dump($data);
   }
   OCIFreeStatement($stmt);
   OCIFreeCursor($curs);
   OCILogoff($conn);
   ?>

   Example 2. Using a REF CURSOR in a select statement in Oracle
   <?php
   echo "<html><body>";
   $conn = OCILogon("scott", "tiger");
   $count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                   "where emp.deptno = dept.deptno) as EMPCNT from dept";
   $stmt = OCIParse($conn, "select deptno,dname,$count_cursor");
   ociexecute($stmt);
   echo "<table border=\"1\">";
   echo "<tr>";
   echo "<th>DEPT NAME</th>";
   echo "<th>DEPT #</th>";
   echo "<th># EMPLOYEES</th>";
   echo "</tr>";
   while (OCIFetchInto($stmt, &$data, OCI_ASSOC)) {
       echo "<tr>";
       $dname  = $data["DNAME"];
       $deptno = $data["DEPTNO"];
       echo "<td>$dname</td>";
       echo "<td>$deptno</td>";
       ociexecute($data["EMPCNT"]);
       while (OCIFetchInto($data["EMPCNT"], &$subdata, OCI_ASSOC)) {
           $num_emps = $subdata["NUM_EMPS"];
           echo  "<td>$num_emps</td>";
       }
       echo "</tr>";
   }
   echo "</table>";
   echo "</body></html>";
   OCIFreeStatement($stmt);
   OCILogoff($conn);
   ?>
   ______________________________________________________________________

   Prev             Home             Next
   ocinewcollection  Up  ocinewdescriptor
