Home >Backend Development >PHP Tutorial >Operating Oracle's PHP classes_PHP tutorial
//[Warning]: Please do not modify without permission
//-------------------------- -------------------------------------------------- ----------------
//---------------------------------- -------------------------------------------------- ---------
//
// [File name]: c_ora_db.inc
// [Function]: Oracle public function class
// [Author] : Type,'N_'=numeric type,'L_'=Boolean type,'A_'=array type
//---------------------- -------------------------------------------------- ------------------
//--------------------------------- -------------------------------------------------- ------------
// ※db_logon() 开启数据库连接
// ※db_query() 通用select
// ※db_change() 数据库改变的通用函数( Insert, delete, update)
// ※ db_insert () insert, directly call db_change ()
// ※ db_delete () delete, directly call db_change ()
// ※ db_update () update, directly Call db_change() db_ // ※db_logoff() ※ Disconnect the database connection
//----- -------------------------------------------------- ----------------------------------
Class c_ora_db
{
//------------------------------------------ -------------------------------------------------- -
// Variable definition
//------------------------------------- -------------------------------------------------- ---
var $C_user = ""; var $C_db Password
//Database user name
= ""; $I_linkID = 0; //Connection handle
var $I_stmtID = 0; //Query handle
var //------------------------------------------------ ------------------------------------------
//----------------------------------------------- -----------------------------------------------
/ / Function name: db_logon()
// Function: Open database connection
// Parameters: None
// Return value: Connection handle (integer)
// Note: None
//---------------------------------------------- -----------------------------------------------
function db_logon() & gt; I_LINKID == 0) {alertexit ('database link failed, please contact DBA!');}
Return $ This- & GT; I_LINKID;
}
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------- ----------------------------------
-------------------------------------------------- ----------------------------------
// Function name: db_query($C_sql,$A_define ="",$I_start=-1,$I_end=-1)
// Function: select
// Parameters: $C_sql Statement
// $A_define The fields to be bound. Array type “ >// Return value: two-dimensional array ($A_rs)
// Remarks: The value of the corresponding field can be accessed through the numbers 0,1,2....; or the value of the corresponding field can also be accessed by querying the field name
// For example, through $A_rs[0][0] or $ A_RS [0] ['name'] or $ A_RS [0] ['name'] can all access the first record name field
// $ i_start, $ i_end is a parameter used with pages.
//--------------------------------------------- ---------------------------------------------
function db_query ($C_sql,$A_define="",$I_start=-1,$I_end=-1)
{
if (!$C_sql){AlertExit("Incomplete parameters!");}//Check parameters
//Connection detection
if ($this->I_linkID == 0){AlertExit('Database link failed, please contact DBA!');}
// Format detection
$this -> I_stmtID = OCIParse($this -> I_linkID,$C_sql);
if (!$this -> I_stmtID){AlertExit(' sql format error!Please contact the programmer');}
//If the bound field is not specified, get it from the SQL statement
if($A_define=="")
{
$A_Cur = explode("select",$C_sql);
$A_Cur = ("from",$A_Cur[1]); ); for( $i=0;$i
tID,"$A_define_up[$i]" ,&$$A_define[$i]); //Binding
{
$A_define_up = trim(strtoupper($A_define)); 🎜> // Execute the bound SQL statement
if(!OCIExecute($this -> I_stmtID))
{
echo "Execution error:SQL Error:$C_sql
";
$lower = 0; //Get records WHILE (OCIFETCHINTO ($ this -& gt; I_Stmtid, & $ cur, OCI_ASSOC))
{
// All the records
if ($ i_start == -1)
{
if (gettype($A_define) == "array") //The query column is an array ine);$i++)
[$i]]; 🎜> $A_rs[$lower][$A_define[ $i]] = $$A_define[$i]; //Use lower case for access
~ ;> $$A_define)
$A_rs[$lower][0] = $$A_define; [$lower][$A_define_up] = $$A_define; //Use a larger index to access
}
$lower++; //Add one to the subscript
}
//Retrieve specified records (Use paging) if ($ i_start & lt; & gt; -1)
{
if ($ cNT & GT; = $ i_start)
{
$ cNT ++; ($I_end - $I_start <> 0)
$A_define) == "array")
i=0;$i
{
$A_rs[$lower][$A_define[$i]] = $$A_define[$ i]; trim($A_define) <> "")
> A_define_up]; Smaller access
break; //If $I_end-$I_start=0, it means that the record is fetched and the while loop is jumped out ofelse
because 🎜> Release the handle and return the query data (a two-dimensional array)
OCIFreestatement($this -> I_stmtID);
return $A_rs;
} //End of function
//- -------------------------------------------------- ---------------------------------------
// -------------------------------------------------- -------------------------------------
// Function name: db_change( $C_sql,$A_bind)
// Function: db change
// Parameters: $C_sql SQL statement
// $A_bind The fields to be bound.Array type
// Return value: Boolean value
// Note: insert, delete, update are common
//------------------ -------------------------------------------------- ---------------------
function db_change($C_sql,$A_bind="")
{
if (!$C_sql){ AlertExit("Incomplete parameters!");}//Check parameters
Please connect again later! ");} this -> I_stmtID){AlertExit(' sql format error!Please contact the programmer');}
i
$$A_bind[$i] = str_replace("","< ?",$$A_bind[$i]); //Filter out PHP tags
}
through [$i], -1); //Binding
Is the character
{
global $$A_bind;
$$A_bind = StripSlashes($$A_bind);
$$A_bind = str_replace("","< ?",$$A_bind); //Filtering Remove the PHP flag
OCIBindByName($this -> I_stmtID, ":$arrBind", &$$A_bind, -1); Success
if(!OCIExecute($this -> I_stmtID,OCI_DEFAULT))
{
echo "Execution error:SQL Error :$C_sql
";
; global $I_changenum;
$I_changenum = OCINumrows($this -> I_stmtID);*/
//Release the handle and return the value
OCIFreeStatement($this -> I_stmtID);
return true;
}
//--------------------------------------------- ---------------------------------------------
//----------------------------------------------- -----------------------------------------------
/ /Function name: DB_DELETE ($ C_SQL)
// Fashion: delete
// Paraception: C_SQL SQL statement
// Return value: Boolean
// Prepare: This function is just In order to be intuitive to use, essentially call db_change()
//------------------------------------------------ -------------------------------------------------- ----
function db_delete($C_sql)
{
return $this -> db_change($C_sql);
}
//--------- -------------------------------------------------- -------------------------------
//-------- -------------------------------------------------- --------------------------------
// Function name: db_insert($C_sql,A_bind)
// Function: insert
// Parameter: C_sql statement
// A_bind Bind
// Return value: Boolean value
// Remarks: This function is only for intuitive use. Essentially call db_change()
//---------------------------------------- --------------------------------------------------
function db_insert($C_sql,$A_bind="")
{
return $this -> db_change($C_sql,$A_bind);
}
//---- -------------------------------------------------- ------------------------------------
//--- -------------------------------------------------- -------------------------------------
// Function name: db_update($C_sql, A_bind)
// Function: update
// Parameters: C_sql Statement
// A_bind Binding
// Return value: Boolean value
// Remarks: This function Just for intuitive use, essentially call db_change()
//---------------------------------- -------------------------------------------------- -----
function db_update($C_sql,$A_bind="")
{
return $this -> db_change($C_sql,$A_bind);
}
/ /------------------------------------------------- ------------------------------------------
//--------------------------------------------- ---------------------------------------------
// Function name: db_commit()
// Function: Transaction submission
// Parameters: None
// Return value: Boolean value
// Remarks: None
//- -------------------------------------------------- ---------------------------------------------
function db_commit()
{
return (OCICommit($this->I_linkID));
}
//--------------------------------------------- ---------------------------------------------
//----------------------------------------------- -----------------------------------------------
/ / Function name: db_rollback()
// /------------------------------------------------- -----------------------------------------------
function db_rollback()
{
return (OCIRollback($this->I_linkID));
}
//------------------------ -------------------------------------------------- ------------------
//------------------------ -------------------------------------------------- ------------------
// Function name: db_logoff()
// Function: Disconnect database connection
// Parameters: None
// Return value: Boolean value
// Remarks: None
//-------------------------- -------------------------------------------------- -------------- -------------------------------------------------- ----------------------------------------
/------------------------------------------------- ------------------------------------------
}
?> ;
http://www.bkjia.com/PHPjc/315288.html
www.bkjia.com
true
http: //www.bkjia.com/PHPjc/315288.html
TechArticle