• <kbd id="qyk40"></kbd>
  • <strike id="qyk40"></strike><samp id="qyk40"><pre id="qyk40"></pre></samp>
    /**
     * 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;
        }
    }

     

    穩(wěn)定

    產(chǎn)品高可用性高并發(fā)

    貼心

    項目群及時溝通

    專業(yè)

    產(chǎn)品經(jīng)理1v1支持

    快速

    MVP模式小步快跑

    承諾

    我們選擇聲譽

    堅持

    10年專注高端品質(zhì)開發(fā)
    • 返回頂部
    人妻少妇精品无码专区动漫| 亚洲Av永久无码精品三区在线 | 国产精品久久久久网站| 精品国产AV一区二区三区 | 国产伦精品一区二区三区免费下载 | 日韩综合无码一区二区| 国产精品白丝AV在线观看播放| 久久黄色精品视频| 久久热这里只有精品在线观看| 亚洲第一精品在线视频| 国产精品丝袜一区二区三区| 中文字幕精品亚洲无线码一区应用 | 久久亚洲国产成人精品无码区| 精品视频一区二区观看| 中文字幕日韩一区| 亚洲AV日韩AV永久无码绿巨人| 国产成品精品午夜视频| 精品国产自在现线看| 国产精品成熟老妇女| 精品人妻无码一区二区色欲产成人 | 日韩精品无码一区二区中文字幕| 亚洲精品亚洲人成在线观看| 99re久久精品国产首页2020| 国产精品一级毛片无码视频| 国产vA免费精品高清在线观看| 午夜精品久久久久久影视777| 日韩国产欧美亚洲v片| 亚洲日韩中文字幕在线播放| 亚洲日韩国产精品第一页一区| 国产伦精品一区二区三区免费下载| 国产精品538一区二区在线| 日日夜夜精品免费视频| 国产精品特黄毛片| 国产一区二区三区国产精品| 日韩精品电影一区亚洲| 日韩精品一区二区三区色欲AV| 亚洲av日韩av无码| 精品国产日韩亚洲一区91| 日本Aⅴ大伊香蕉精品视频| 亚洲精品无码专区2| 久久精品一区二区影院|