PHP and Oracle cursors


<html>   
<head>                  
<meta http-equiv="content-type" content="text/html; charset=windows-1251">                               
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">                             
<title>page</title>  </head>   <body bgcolor="#F1F1F1">

<?php
if ($conn=oci_connect("SMNP_DATA2", "SMNP_DATA2", "NSSER-WEB")) {
                  echo "Successfully connected to Oracle.<br><br>\n";
                }
 else {
  $err = OCIError();
  echo "Oracle Connect Error ".$err[text];
}

$start_time = microtime();
$start_array = explode(" ",$start_time);
$start_time = $start_array[1] + $start_array[0];
           
 $stmt = "BEGIN pkg_show.DataSet_ByRegLvl_Rc(:n_id,:fyear,:syear,:param,:RC);  END;";
 $stid = oci_parse($conn, $stmt);
 $refcur = oci_new_cursor($conn);

 $pnp_n_id=52;
 $php_fyear=2007;
 $php_syear=2007;
 $php_param=3;

 $r = oci_bind_by_name($stid, ':RC',     $refcur, -1, OCI_B_CURSOR);
 $r = oci_bind_by_name($stid, ":n_id",   $pnp_n_id);
 $r = oci_bind_by_name($stid, ":fyear",  $php_fyear);
 $r = oci_bind_by_name($stid, ":syear",  $php_syear);
 $r = oci_bind_by_name($stid, ":param",  $php_param);

 $r = oci_execute($stid);
 $r = oci_execute($refcur, OCI_DEFAULT);

//---1
print '<table border="1" bordercolor="#5F9EA0" bgcolor="#FFFAFA" cellspacing="0">';
while ($row = oci_fetch_array ($refcur, OCI_ASSOC )) {
  print '<tr>';
   echo '<td><b>'.$row['TERR_NAME'].'</b></td>';
   echo '<td><b>'.$row['PRCNT'].'</b></td>';
  print '</tr>';
}
print '</table><br></font>';

$end_time = microtime();
$end_array = explode(" ",$end_time);
$end_time = $end_array[1] + $end_array[0];
$time = $end_time - $start_time;

echo "Duration ref cursor function is ".$time." seconds.<br>";


oci_free_statement($stid);
oci_free_cursor($refcur);
oci_close($conn);

if ($conn=oci_connect("SMNP_DATA2", "SMNP_DATA2", "NSSER-WEB")) {
                  echo "Successfully connected to Oracle.<br><br>\n";
                }
 else {
  $err = OCIError();
  echo "Oracle Connect Error ".$err[text];
}


$start_time = microtime();
$start_array = explode(" ",$start_time);
$start_time = $start_array[1] + $start_array[0];

$stmt = 'select * from table(pkg_show.DataSet_ByRegLvl_pf(:n_id,:fyear,:syear,:param)) ';
$stid = oci_parse($conn, $stmt);
//select * from table(pkg_show.DataSet_ByRegLvl_PF(52,2007,2007,3))

 $pnp_n_id=52;
 $php_fyear=2007;
 $php_syear=2007;
 $php_param=3;

 $r = oci_bind_by_name($stid, ":n_id",   $pnp_n_id);
 $r = oci_bind_by_name($stid, ":fyear",  $php_fyear);
 $r = oci_bind_by_name($stid, ":syear",  $php_syear);
 $r = oci_bind_by_name($stid, ":param",  $php_param);

print '<table border="1" bordercolor="#Crimson" bgcolor="#FAFAD2" cellspacing="0">';

oci_execute($stid, OCI_DEFAULT);

  while (OCIFetch($stid)) {
    echo "<tr><td><b>".ociresult($stid, "TERR_NAME")."</b></td>";
    echo "<td><b>".ociresult($stid, "PRCNT") . "</b></td></tr>";
  }
print '</table><br>';

$end_time = microtime();
$end_array = explode(" ",$end_time);
$end_time = $end_array[1] + $end_array[0];
$time = $end_time - $start_time;

echo "Duration pipelined function is ".$time." seconds.";

oci_free_statement($stid);
oci_close($conn);
?>