Operating Oracle's PHP classes_PHP tutorial
Jul 21, 2016 pm 04:06 PM
//[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()????????????????????開(kāi)啟數(shù)據(jù)庫(kù)連接?????
//????※db_query()????????????????????通用select?????????????
//????※db_change()????????????????????數(shù)據(jù)庫(kù)改變的通用函數(shù)( 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

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

TosettherighttimezoneinPHP,usedate_default_timezone_set()functionatthestartofyourscriptwithavalididentifiersuchas'America/New_York'.1.Usedate_default_timezone_set()beforeanydate/timefunctions.2.Alternatively,configurethephp.inifilebysettingdate.timez

The key to writing clean and easy-to-maintain PHP code lies in clear naming, following standards, reasonable structure, making good use of comments and testability. 1. Use clear variables, functions and class names, such as $userData and calculateTotalPrice(); 2. Follow the PSR-12 standard unified code style; 3. Split the code structure according to responsibilities, and organize it using MVC or Laravel-style catalogs; 4. Avoid noodles-style code and split the logic into small functions with a single responsibility; 5. Add comments at key points and write interface documents to clarify parameters, return values ??and exceptions; 6. Improve testability, adopt dependency injection, reduce global state and static methods. These practices improve code quality, collaboration efficiency and post-maintenance ease.

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

PHP page caching improves website performance by reducing server load and speeding up page loading. 1. Basic file cache avoids repeated generation of dynamic content by generating static HTML files and providing services during the validity period; 2. Enable OPcache to compile PHP scripts into bytecode and store them in memory, improving execution efficiency; 3. For dynamic pages with parameters, they should be cached separately according to URL parameters, and avoid cached user-specific content; 4. Lightweight cache libraries such as PHPFastCache can be used to simplify development and support multiple storage drivers. Combining these methods can effectively optimize the caching strategy of PHP projects.

ToquicklytestaPHPcodesnippet,useanonlinePHPsandboxlike3v4l.orgorPHPize.onlineforinstantexecutionwithoutsetup;runcodelocallywithPHPCLIbycreatinga.phpfileandexecutingitviatheterminal;optionallyusephp-rforone-liners;setupalocaldevelopmentenvironmentwith

In PHP, logical operators are used to combine or evaluate conditions, and the main operators include &&, and, ||, or, !, and xor. 1. The difference between && and is in priority. && is higher than the assignment operator, while and is lower than the assignment operator, so the behavior is different when combining assignment; 2.|| and or also have similar priority differences, || takes precedence over assignment, while or is processed after assignment; 3.! operator is used to invert Boolean values, often used to check whether the condition is false, and it is recommended to wrap complex expressions in brackets to ensure correct application; 4.xor returns true only when exactly one of the two values ??is true, suitable for mutex condition judgment
