oracle database access object
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=O*wCount($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;
}
}
?>
上一篇: PHP编程网上资源导航
下一篇: 一点点个人意见:PHP的优点
推荐阅读
-
在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
-
DBA 在Linux下安装Oracle Database11g数据库图文教程
-
Window下Oracle Database 11g 发行版2安装教程
-
Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)的完美解决方法
-
解决mysql创建数据库后出现:Access denied for user 'root'@'%' to database 'xxx'的问题
-
提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'的错误如何解决?
-
关于oracle PL/SQL存储过程 PLS-00905 object is invalid,statement ignored问题的解决
-
Oracle Database 11g在Win8 上的卸载过程记录
-
Oracle Database 介绍
-
Oracle Database 12c数据库中文配置安装图解教程(详细安装步骤)