日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类

發(fā)布時間:2023/12/1 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

就是做一下整理 PHP PDO類操作。簡化操作流程

更多內(nèi)容

http://git.oschina.net/youkuiyuan/yky_test/blob/master/class/pdo.class.php

點擊鏈接加入群【微信開發(fā)探討群】:http://jq.qq.com/?_wv=1027&k=csNcd9

群號:330393916

歡迎瀏覽:www.zcstrong.com

QQ:2444756311

微信紅包接口API - 拓展微信公眾平臺通用接口API(PHP版) -->?http://www.oschina.net/code/snippet_2276613_46605

1.[代碼]PDO優(yōu)化類

/**

* Description of pdo

*

* @author Administrator

*/

class ZcPdo {

public $dbh = ""; //全局連接Object;

//public $sth = ""; //預(yù)處理參數(shù)

private $dsn = "";

private $user = "";

private $password = "";

public $returnAy = array('errcode' => '','errmsg' => '');

//構(gòu)造函數(shù) - 初始化連接

public function __construct($dsn, $user, $password) {

$this->dsn = $dsn;

$this->user = $user;

$this->password = $password;

$this->pdoConnect();

}

private function pdoConnect(){

try {

$this->dbh = new PDO($this->dsn, $this->user, $this->password);

return $this->dbh;

}

catch (PDOException $e) {

echo 'Connection failed: ' . $e->getMessage();

exit();

}

}

//設(shè)置PDO參數(shù)

public function zcAttribute($attribute, $value){

$this->dbh->setAttribute($attribute, $value);

}

public function zcLastId($name = NULL){

return $this->dbh->lastInsertId($name);

}

//數(shù)據(jù)庫單語句執(zhí)行操作

public function zcExec($param) {

try {

$rows = $this->dbh->exec($param);//影響行數(shù)

return $this->zcLog(TRUE, $rows);

}

catch (PDOException $e) {

return $this->zcLog(FALSE, $e->getMessage());

}

}

//格式化數(shù)據(jù)

public function zcQuote($string){

return $this->dbh->quote($string);

}

//批量處理格式化數(shù)據(jù)

public function zcBatchQuote($data){

$result = "";

if(!empty($data) && (is_array($data) || is_object($data))){

foreach($data as $key => $value){

if(!empty($value) && (is_array($value) || is_object($value))){

$result[$key] = $this->zcBatchQuote($value);

}

else{

$result[$key] = $this->zcQuote($value);

}

}

}

else {

$result = $this->zcQuote($data);

}

return $result;

}

//數(shù)據(jù)庫預(yù)處理操作 - 獲取全部數(shù)據(jù)

public function zcFetchAll($statement ,$parameter = NULL ,$type = PDO::FETCH_ASSOC){

try{

$sth = $this->dbh->prepare($statement);

//$sth->execute($parameter);

$sth->execute($this->zcBatchQuote($parameter));

$result = $sth->fetchAll($type);

if(!empty($result) && is_array($result)){

return $this->zcLog(TRUE, $result);

}

else{

return $this->zcLog(TRUE, NULL);

}

}

catch (PDOException $e) {

return $this->zcLog(FALSE, $e->getMessage());

}

}

//數(shù)據(jù)庫預(yù)處理操作 - 獲取一行數(shù)據(jù)

public function zcFetchRow($statement ,$parameter = NULL ,$type = PDO::FETCH_ASSOC){

try{

$sth = $this->dbh->prepare($statement);

$sth->execute($this->zcBatchQuote($parameter));

$result = $sth->fetch($type);

if(!empty($result) && is_array($result)){

return $this->zcLog(TRUE, $result);

}

else{

return $this->zcLog(TRUE, NULL);

}

}

catch (PDOException $e) {

return $this->zcLog(FALSE, $e->getMessage());

}

}

//數(shù)據(jù)庫預(yù)處理操作 - 獲取一個數(shù)據(jù)

public function zcFetchOne($statement ,$parameter = NULL){

try{

$sth = $this->dbh->prepare($statement);

$sth->execute($this->zcBatchQuote($parameter));

$result = $sth->fetch(PDO::FETCH_NUM);

if(!empty($result) && is_array($result)){

return $this->zcLog(TRUE, $result[0]);

}

else{

return $this->zcLog(TRUE, NULL);

}

}

catch (PDOException $e) {

return $this->zcLog(FALSE, $e->getMessage());

}

}

//開始事務(wù)

public function zcBegin(){

$this->dbh->beginTransaction();

}

//提交事務(wù)

public function zcCommit(){

$this->dbh->commit();

}

//回滾事務(wù)

public function zcRollBack(){

$this->dbh->rollBack();

}

//預(yù)處理事務(wù)執(zhí)行語句

public function zcPtmTstQuery($statement ,$parameter = NULL){

try{

$this->zcBegin();

$result = $this->dbh->prepare($statement)->execute($parameter);

$this->zcCommit();

return $this->zcLog(TRUE, $result);

}

catch (PDOException $e) {

$this->zcRollBack();

return $this->zcLog(FALSE, $e->getMessage());

}

}

//預(yù)處理執(zhí)行語句

public function zcPtmQuery($statement ,$parameter = NULL){

try{

$result = $this->dbh->prepare($statement)->execute($parameter);

return $this->zcLog(TRUE, $result);

}

catch (PDOException $e) {

return $this->zcLog(FALSE, $e->getMessage());

}

}

//Query執(zhí)行

public function zcQuery($statement,$type = PDO::FETCH_ASSOC){

try{

$result = $this->dbh->query($statement,$type);

return $this->zcLog(TRUE, $result);

}

catch (PDOException $e) {

return $this->zcLog(FALSE, $e->getMessage());

}

}

//日志LOG

public function zcLog($errcode , $errmsg){

$this->returnAy = array();

$this->returnAy['errcode'] = $errcode;

$this->returnAy['errmsg'] = $errmsg;

$this->returnAy['errtime'] = date("Y-m-d H:i:s",time());

return $this->returnAy;

}

}

總結(jié)

以上是生活随笔為你收集整理的php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。