| 
<?php
error_reporting(E_ALL ^ E_NOTICE);
 
 include('class.oracle.php');
 $ora = new ORACLE(); //::CreateInstance("XE", "olton", "yfnfkmz", "RUSSIAN_CIS.AL32UTF8");
 $ora->Connect("XE", "olton", "yfnfkmz");
 
 $ora->SetFetchMode(OCI_ASSOC);
 $ora->SetAutoCommit(true);
 
 
 //  $ora->Update("t1", array("id"=>":id", "name"=>":name"), "name='ttt'", array(":id"=>2, ":name"=>"tt2"));
 
 /* Select tests *************************************************************************************/
 echo "Select tests...\n";
 echo "select sysdate from dual\n";
 $h = $ora->Select("select sysdate from dual");
 $r = $ora->FetchArray($h);
 var_dump($r);
 echo "Select with binding vars test\n";
 echo "select * from test where dummy = :dummy\n";
 echo "Binding :dummy as moon\n";
 $h = $ora->Select("select * from test where dummy = :dummy", array(":dummy"=>"moon"));
 $r = $ora->FetchArray($h);
 var_dump($r);
 /***************************************************************************************************/
 
 /* Insert tests ************************************************************************************/
 echo "Insert tests...\n";
 echo "insert into test(id, dummy) values(:id, :dummy); /* binding data with id=2010, dummy=November*/\n";
 $bind = array(":id"=>2010, ":dummy"=>"'November'");
 $r = $ora->Insert("test", array("id"=>":id", "dummy"=>":dummy"), $bind);
 var_dump($r);
 echo "insert into test(id, dummy) values(:id, :dummy) returning id into :id_ret; /* binding data with id=2010, dummy=November*/\n";
 $bind = array(":id"=>2010, ":dummy"=>"'November'");
 $returning = array("id"=>"id_ret");
 $r = $ora->Insert("test", array("id"=>":id", "dummy"=>":dummy"), $bind, $returning);
 var_dump($r);
 /***************************************************************************************************/
 
 /* Update tests ************************************************************************************/
 echo "Update tests...\n";
 echo "without binding... update test set id=9 where id=1\n";
 $ora->Update("test", array("id"=>9), "id=1");
 echo "with binding... update test set id=:id where id=1\n";
 $bind = array(":id"=>10);
 $ora->Update("test", array("id"=>":id"), "id=9", $bind);
 echo "with binding and returning... update test set id=:id where id=1 returning id into :ret_id\n";
 $bind = array(":id"=>11);
 $ret = array("id"=>"ret_id");
 $r = $ora->Update("test", array("id"=>":id"), "id=10", $bind, $ret);
 var_dump($r);
 /***************************************************************************************************/
 
 /* Functions tests *********************************************************************************/
 echo "Stored Function test...\n";
 $bind = array(":test"=>"'test function'");
 $result = $ora->Func("test_f", array(":test"), $bind);
 var_dump($result);
 /***************************************************************************************************/
 
 /* Stored Procedures tests *************************************************************************/
 echo "Stored Procedure test...\n";
 $bind = array(":r"=>"");
 $ora->StoredProc("test_p", array("'test'", ":r"), $bind);
 var_dump($bind[":r"]);
 /***************************************************************************************************/
 
 /* Cursor tests ************************************************************************************/
 echo "Cursor tests...\n";
 echo "get Cursor from stored_proc with binding as :data\n";
 echo "begin utils.get_cursor(:dataset); end;\n";
 $cursor = $ora->Cursor("util.get_cursor", "data");
 if ($cursor) {
 while($r = $ora->FetchRow($cursor)){
 var_dump($r);
 }
 $ora->FreeStatement($cursor);
 } else {
 echo "Beee...\n";
 }
 /***************************************************************************************************/
 
 /* Collections tests *******************************************************************************/
 echo "Collections tests...\n";
 $coll1 = $ora->NewCollection("DOMAIN_NAMES_COLTYPE");
 $coll2 = $ora->NewCollection("DOMAIN_NAMES_COLTYPE");
 
 $coll1->append("t1");
 $coll1->append("t2");
 $coll1->append("t3");
 $coll1->append("t4");
 
 
 echo "Return collection from StoredProc...\n";
 $bind = array(":coll1"=>$coll1, ":coll2"=>$coll2);
 
 $ora->StoredProc("domain_check", array(":coll1", ":coll2"), $bind);
 
 for($i = 0; $i<$coll2->size(); $i++)
 var_dump($coll2->getElem($i));
 
 echo "Return count of collection elements transfered into StoredProc...\n";
 $bind = array(":coll1"=>$coll1, ":coll2"=>"");
 $ora->StoredProc("domain_check2", array(":coll1", ":coll2"), $bind);
 var_dump($bind[":coll2"]);
 /***************************************************************************************************/
 
 
 $ora->DumpQueriesStack();
 
 $ora->Bye();
 ?>
 
 |