天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一個基于PDO的數據庫操作類(新) 一個PDO事務實例

復制代碼 代碼如下:
<?php
/*
* 作者:胡睿
* 日期:2011/03/19
* 電郵:[email protected]
*
* 20110319
* 常用數據庫操作,如:增刪改查,獲取單條記錄、多條記錄,返回最新一條插入記錄id,返回操作記錄行數等
* 20110630
* 整體修改方法,合并部分參數
* 規(guī)范代碼,一個方法里只有1個return語句
*/
/*
參數說明
int $debug 是否開啟調試,開啟則輸出sql語句
int $mode 0 返回數組
1 返回單條記錄
2 返回行數
string $table 數據庫表
string $fields 需要查詢的數據庫字段,允許為空,默認為查找全部
string $sqlwhere 查詢條件,允許為空
string $orderby 排序,允許為空,默認為id倒序
*/
function hrSelect($debug, $mode, $table, $fields="*", $sqlwhere="", $orderby="id desc"){
global $pdo;
if($debug){
if($mode == 2){
echo "select count(*) from $table where 1=1 $sqlwhere order by $orderby";
}elseif($mode == 1){
echo "select $fields from $table where 1=1 $sqlwhere";
}else{
echo "select $fields from $table where 1=1 $sqlwhere order by $orderby";
}
exit;
}else{
if($mode == 2){
$rs = $pdo->query("select count(*) from $table where 1=1 $sqlwhere order by $orderby");
$return = $rs->fetchColumn();
}elseif($mode == 1){
$rs = $pdo->query("select $fields from $table where 1=1 $sqlwhere");
$return = $rs->fetch();
}else{
$rs = $pdo->query("select $fields from $table where 1=1 $sqlwhere order by $orderby");
$return = $rs->fetchAll();
}
return $return;
}
}
/*
參數說明
int $debug 是否開啟調試,開啟則輸出sql語句
int $mode 0 默認insert,無返回信息
1 返回執(zhí)行條目數
2 返回最后一次插入記錄的id
string $table 數據庫表
string $fields 需要插入數據庫的字段
string $values 需要插入數據庫的信息,必須與$fields一一對應
*/
function hrInsert($debug, $mode, $table, $fields, $values){
global $pdo;
if($debug){
echo "insert into $table ($fields) values ($values)";
exit;
}else{
if($mode == 2){
$return = $pdo->lastInsertId("insert into $table ($fields) values ($values)");
}elseif($mode == 1){
$return = $pdo->exec("insert into $table ($fields) values ($values)");
}else{
$pdo->query("insert into $table ($fields) values ($values)");
exit;
}
return $return;
}
}
/*
參數說明
int $debug 是否開啟調試,開啟則輸出sql語句
int $mode 0 默認update,無返回信息
1 返回執(zhí)行條目數
string $table 數據庫表
string $set 需要更新的字段及內容,格式:a='abc',b=2,c='2010-10-10 10:10:10'
string $sqlwhere 修改條件,允許為空
*/
function hrUpdate($debug, $mode, $table, $set, $sqlwhere=""){
global $pdo;
if($debug){
echo "update $table set $set where 1=1 $sqlwhere";
exit;
}else{
if($mode==1){
$return = $pdo->exec("update $table set $set where 1=1 $sqlwhere");
}else{
$pdo->query("update $table set $set where 1=1 $sqlwhere");
exit;
}
return $return;
}
}
/*
參數說明
int $debug 是否開啟調試,開啟則輸出sql語句
int $mode 0 默認delete,無返回信息
1 返回執(zhí)行條目數
string $table 數據庫表
string $sqlwhere 刪除條件,允許為空
*/
function hrDelete($debug, $mode, $table, $sqlwhere=""){
global $pdo;
if($debug){
echo "delete from $table where 1=1 $sqlwhere";
exit;
}else{
if($mode == 1){
$return = $pdo->exec("delete from $table where 1=1 $sqlwhere");
}else{
$pdo->query("delete from $table where 1=1 $sqlwhere");
exit;
}
return $return;
}
}
?>

另外一段代碼是基于我這個數據庫操作類的事務實例:
復制代碼 代碼如下:
/*
注意,數據庫操作表類型必須為InnoDB,其他類型不支持事務
PDO事務機制
$pdo->beginTransaction(); --開啟事務
$pdo->commit(); --結束事務
$pdo->rollBack(); --回滾操作

示例,用try/catch包住db操作,當事務內的db操作出現中斷,則執(zhí)行回滾并拋出異常信息。
*/
try{
$pdo->beginTransaction();
hrInsert(0,1,"class","name,parentid","'god',0"); //可以正常執(zhí)行
hrInsert(0,0,0,"tb_searchlog","userid,code","4"); //出錯
$pdo->commit();
}catch(Exception $e){
$pdo->rollBack();
echo "Failed: " . $e->getMessage();
}

代碼下載:點擊下載

php技術一個基于PDO的數據庫操作類(新) 一個PDO事務實例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费精品一区二区三区AA片 | 成人女人A级毛片免费软件 成人免费在线视频 | 99福利在线 | 泷泽萝拉首部av | 国产伦子沙发午休系列资源曝光 | 亚洲理论在线a中文字幕 | 国产精品久久精品 | 双性将军粗壮H灌满怀孕 | 丰满五十老女人性视频 | 国产AV无码熟妇人妻麻豆 | 国产啪视频在线播放观看 | 久久re这里视频只精品首页 | 久久中文字幕亚洲精品最新 | 成人在无码AV在线观看一 | 国产91专区 | 国产激情精品久久久久久碰 | 男人大臿蕉香蕉大视频 | 国语92电影网午夜福利 | 中国明星16xxxxhd | 国产亚洲欧美日韩综合综合二区 | 精品国产午夜福利在线观看蜜月 | 免费看欧美一级特黄a大片 免费看欧美xxx片 | 日本高清免费看 | 天天槽任我槽免费 | 天堂精品国产自在自线 | 浴室里强摁做开腿呻吟的漫画 | 男生互捏jiji的故事 | 嗯啊…嗯np男男双性总受 | 久久99热成人精品国产 | 日韩欧美一区二区三区免费看 | 亚洲免费黄色片 | 一级毛片西西人体44rt高清 | 日本十八禁无遮无挡漫画 | 夜夜躁婷婷AV蜜桃视频 | 日本乱hd高清videos | 亚洲国产综合人成综合网站00 | 亚洲精品高清在线 | 最近中文字幕2019国语4 | 亚洲中文字幕永久在线全国 | 99久在线国内在线播放免费观看 | 求个av网站 |