Home > Backend Development > PHP Tutorial > A database operation class based on PDO_PHP tutorial

A database operation class based on PDO_PHP tutorial

WBOY
Release: 2016-07-21 15:31:25
Original
775 people have browsed it

Baidu later decided to use PDO. As for why it chose PDO, I won’t go into details here. You can understand it yourself by going to Baidu.
Since you want to change, you need to have a commonly used database operation class, which is the so-called addition, deletion, modification, query, etc. I spent the night playing around last night and roughly came up with a prototype. The following is the code. I hope you can Give some advice.

Copy code The code is as follows:

/*
Author: Hu Rui
Date: 2011/03/19
Email: hooray0905@foxmail.com
20110319
Common database operations, such as: add, delete, modify, query, obtain a single record, multiple records, return the latest inserted record id, Return the number of operation record rows, etc.
*/
/*
Parameter Description
int $debug Whether to enable debugging, if enabled, the sql statement will be output
int $getcount Whether to count, the return value is rows Number
int $getrow Whether to return a single record
string $table Database table
string $fields Database fields to be queried, allowed to be empty, the default is to find all
string $sqlwhere Query conditions, allowed Is empty
string $orderby sorting, allowed to be empty, defaults to id reverse order
*/
function hrSelect($debug, $getcount, $getrow, $table, $fields="*", $sqlwhere ="", $orderby="id desc"){
global $pdo;
if($debug){
if($getcount){
echo "select count(*) from $ table where 1=1 $sqlwhere order by $orderby";
}else{
echo "select $fields from $table where 1=1 $sqlwhere order by $orderby";
}
exit ;
}else{
if($getcount){
$rs = $pdo->query("select count(*) from $table where 1=1 $sqlwhere order by $orderby") ;
return $rs->fetchColumn();
}elseif($getrow){
$rs = $pdo->query("select $fields from $table where 1=1 $sqlwhere order by $orderby");
return $rs->fetch();
}else{
$rs = $pdo->query("select $fields from $table where 1=1 $sqlwhere order by $orderby");
return $rs->fetchAll();
}
}
}
/*
Parameter Description
int $debug Whether to enable debugging, if enabled, the sql statement will be output
int $execrow Whether to enable and return the number of execution entries
int $lastinsertid Whether to enable and return the last inserted record id
string $table Database table
string $fields required Fields inserted into the database
string $values ​​The information that needs to be inserted into the database must correspond to $fields one-to-one
*/
function hrInsert($debug, $execrow, $lastinsertid, $table, $fields, $ values){
global $pdo;
if($debug){
echo "insert into $table ($fields) values ​​($values)";
exit;
}elseif( $execrow){
return $pdo->exec("insert into $table ($fields) values ​​($values)");
}elseif($lastinsertid){
return $pdo-> ;lastInsertId("insert into $table ($fields) values ​​($values)");
}else{
$pdo->query("insert into $table ($fields) values ​​($values) ");
}
}
/*
Parameter description
int $debug Whether to enable debugging, if enabled, the sql statement will be output
int $execrow Whether to enable execution and return the number of entries
string $table database table
string $set Fields and content to be updated, format: a='abc',b=2,c='2010-10-10 10:10:10'
string $sqlwhere modifies the conditions and allows empty
*/
function hrUpdate($debug, $execrow, $table, $set, $sqlwhere=""){
global $pdo;
if( $debug){
echo "update $table set $set where 1=1 $sqlwhere";
exit;
}elseif($execrow){
return $pdo->exec(" update $table set $set where 1=1 $sqlwhere");
}else{
$pdo->query("update $table set $set where 1=1 $sqlwhere");
}
}
/*
Parameter description
int $debug Whether to enable debugging, if enabled, output sql statement
int $execrow Whether to enable and return the number of execution entries
string $table database table
string $sqlwhere deletion condition, empty is allowed
*/
function hrDelete($debug, $execrow, $table, $sqlwhere=""){
global $pdo;
if ($debug){
echo "delete from $table where 1=1 $sqlwhere";
exit;
}elseif($execrow){
return $pdo->exec("delete from $table where 1=1 $sqlwhere");
}else{
$pdo->query("delete from $table where 1=1 $sqlwhere");
}
}
?>

The comments on the parameters are clearly written. If anyone needs it and doesn’t know how to use it, they can ask me directly.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/323020.htmlTechArticleBaidu later decided to use PDO. As for why it chose PDO, I won’t say more here. You can go to Baidu and download it yourself. I understand. Since you want to change, the most basic thing is to have a commonly used database operation...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template