Heim >php教程 >php手册 >oracle database access object

oracle database access object

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-21 09:13:121254Durchsuche

access|object|oracle

 
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####
/*
$newOda->Execute(" update test set nouse='dfs' where login_name='guoyafeng'");
*/
#############################

#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;$iRows;$i++)
   for($j=0;$jCols;$j++)
    {
       echo $newOda->RS[$i][$j];
       
       }


$newOda->Logoff();
?>

/********************************************************************************#
#  File Name:ODA.php3                                                            #
#  Author:Guo Yafeng                                    #
#  Function: Oracle DB Access.                          #
#  Maint History:                                                                #
#         Sept 18,2000 first release.                                            #
#                                                                                #
#                                                                                #
#********************************************************************************/


/********************************************************************************#
#Object interface description:                                                   #
#  Properties:                                                                   #
#       conn                Connection Object                                    #
#       err_no              Error No                                             #
#       err                 Error Description                                    #
#       CmdString           SQL Statements to execute.                           #
#       Rows               Affected Rows.                                      #
#       RS                  Return value array.                                  
#      Cols                                                                                         #
#                                                                                #
#  Method:                                                                       #
#       Open                Execute the CmdString and return value               #
#       Execute             Execute the CmdString.                               #
#********************************************************************************/

   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;
  
  }
}
?>



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:一个好用的UBB类!Nächster Artikel:Php安装使用问答(一)