?
本文檔使用 PHP中文網(wǎng)手冊(cè) 發(fā)布
oracle database access object
?
Calling example:
<?
$conn = OCILogon("www_cec", "webchn99", "unicorn");
#or you can just inclued file like "include("modcec_OCI_conn.php3");"
$newOda= new ODA($conn);
#################
#or you can use login method like this
#$newOda-=new ODA();
#$newOda->Logon("www","99","corn");
###############################################
$newOda->CmdString=" update test set nouse='dfs' where login_name='guoyafeng'";
if(!$newOda->Execute()) {
echo $newOda->err;
}
else
{
echo $newOda->Rows;??#get the affected row number.
}
#or you can call execute like this####
#############################
#the following demostrate the open method.
$newOda->Open("select * from test")) or die $newOda->err;
#Get data from RS
echo "count is" .$newOda->Rows;
for($i=0;$i<$newOda->Rows;$i++)
???for($j=0;$j<$newOda->Cols;$j++)
????{
???????echo $newOda->RS[$i][$j];
???????
???????}
$newOda->Logoff();
?>
<?
???file://$conn = OCILogon("www_ce", "ceonline99", "wsgp");
??// $conn = OCILogon("www_cec", "webchn99", "unicorn");
//??if ($SERVER_NAME == "")
//??????????$SERVER_NAME = $HTTP_HOST;
class ODA
{
??
??
??function ODA($cn="") {
???if($cn!="")
????$this->conn=$cn;
????return TRUE;
??
??}
??
??function Logon($user,$pass,$db) {
??
????if(!($this->conn = OCILogon($user, $pass, $db))){
????
?????$this->err_no=106;
?????$this->err="Error 106: Failed to logon.";
?????return FALSE;
????};
????
????return TRUE;
????
??}
??function Open($sql="") file://$this->CmdString
??{
?????if($this->conn=="") {
????????$this->err_no=100;
????????$this->err="Error 100,Connection Object Required.";
????????return FALSE;
??????}
?????
?????if($sql=="" and $this->CmdString=="") {
????????$this->err_no=101;
????????$this->err="Error 101,SQL Statement Required.";
????????return FALSE;
??????}
?????if($sql=="")
????????$sql=$this->CmdString;
????if(!($cursor=OCIParse($this->conn,$sql))) {
???????$this->err_no=102;
???????$this->err="Server Internal Error: Failed to parse SQL Statement.";
???????return FALSE;
????}
????
????if(!OCIExecute($cursor))??{
??????$this->err_no=103;
??????$this->err="Server Internal Error: Failed to execute SQL Statement.";
??????return FALSE;
????}
????$this->Rows=0;
????while(OCIFetchInto($cursor,$this->RS[$this->Rows])){
????
??????$this->Rows++;
??????
?????}
?????$this->Cols=OCINumCols($cursor);
????if($this->Rows==0) {
????
?????$this->err_no=104;
?????$this->err="Warning: No rows affectted.RS result is not available.";
????}
?????OCIFreeStatement($cursor);
?????
?????return TRUE;
??}
??
??
????function Execute($sql="") {
?????if($this->conn=="") {
????????$this->err_no=100;
????????$this->err="Error 100,Connection Object Required.";
????????return FALSE;
??????}
????
?????if($sql=="" and $this->CmdString=="") {
????????$this->err_no=101;
????????$this->err="Error 101,SQL Statement Required.";
????????return FALSE;
??????}
?????if($sql=="")
????????$sql=$this->CmdString;
????
????if(!($cursor=OCIParse($this->conn,$sql))) {
???????$this->err_no=102;
???????$this->err="Server Internal Error: Failed to parse SQL Statement.";
???????return FALSE;
????}
???
????
????if(!OCIExecute($cursor))??{
??????$this->err_no=103;
??????$this->err="Server Internal Error: Failed to execute SQL Statement.";
??????return FALSE;
????}
????$this->Rows=OCIRowCount($cursor);
????OCIFreeStatement($cursor);
????
????return TRUE;
??}
??function LogOff(){
??
??if(!OCILogoff($conn)){
????
????$this->err_no=105;
????$this->err="Server Internal Error: Failed to logoff database.";
????return FALSE;
???}
??return TRUE;
??
??}
}
?>