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

Hot AI Tools

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

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

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

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



PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

SQL statements can be created and executed based on runtime input by using Oracle's dynamic SQL. The steps include: preparing an empty string variable to store dynamically generated SQL statements. Use the EXECUTE IMMEDIATE or PREPARE statement to compile and execute dynamic SQL statements. Use bind variable to pass user input or other dynamic values to dynamic SQL. Use EXECUTE IMMEDIATE or EXECUTE to execute dynamic SQL statements.
