Home  >  Article  >  Backend Development  >  Operating Oracle's PHP classes_PHP tutorial

Operating Oracle's PHP classes_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 16:06:46778browse

//[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                                                                                     lt;> $$A_define[$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                                                                                                                / /Remove backslash characters
$$A_bind[$i] = str_replace(" }
                                                                                                                                                                                                                                       through [$i], -1); //Binding
                                                                                                    Is the character
{
global $$A_bind;
$$A_bind = StripSlashes($$A_bind);
$$A_bind = str_replace(" 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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn