中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

使用單例模式實現(xiàn)mysql類

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

<?php
defined('ACC')||exit('Access Denied');
// 封裝mysql操作類,包括連接功能,及查詢功能.
class mysql extends absdb{
    protected static $ins = null;
    protected $host;  // 主機名
    protected $user;  // 用戶名
    protected $passwd; // 密碼
    protected $db;      // 數(shù)據(jù)庫名
    protected $port;    // 端口
    protected $conn = null;
    // 在內(nèi)部操作,獲得一個對象
    public static function getIns() {
        if(self::$ins === null) {
            self::$ins = new self();
        }
        $conf = conf::getIns();
        self::$ins->host = $conf->host;
        self::$ins->user = $conf->user;
        self::$ins->passwd = $conf->pwd;
        self::$ins->db = $conf->db;
        self::$ins->port = $conf->port;
        self::$ins->connect();      
        self::$ins->select_db();
        self::$ins->setChar();
        return self::$ins;
    }
    // 不讓外部做new操作,
    protected function __construct() {
        
    }
    // 連接數(shù)據(jù)庫
    public function connect() {
        $this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port);
        if(!$this->conn) {
            $error = new Exception('數(shù)據(jù)庫連不上',9);
            throw $error;
        }
    }
    // 發(fā)送sql查詢
    public function query($sql) {
        $rs = mysql_query($sql,$this->conn);
        if(!$rs) {
            log::write($sql);
        }
        return $rs;
    }
    // 封裝一個getAll方法
    // 參數(shù):$sql
    // 返回: array,false
    public function getAll($sql) {
        $rs = $this->query($sql);
        if(!$rs) {
            return false;
        }
        $list = array();
        while($row = mysql_fetch_assoc($rs)) {
            $list[] = $row;
        }      
        return $list;
      
    }
    // 封裝一個getRow方法
    // 參數(shù):$sql
    // 返回: array,false
    public function getRow($sql) {
        $rs = $this->query($sql);
        if(!$rs) {
            return false;
        }
       return mysql_fetch_assoc($rs);
    }
    // 封裝一個getOne方法,
    // 參數(shù): $sql
    // 返回: int,str(單一的值)
    public function getOne($sql) {
        $rs = $this->query($sql);
        if(!$rs) {
            return false;
        }
        $tmp = mysql_fetch_row($rs);
        return $tmp[0];
    }
    // 封裝一個afftect_rows()方法
    // 參數(shù):無
    // 返回 int 受影響行數(shù)
    public function affected_rows() {
        return mysql_affected_rows($this->conn);
    }
    // 返回最新生成的auto_increment列的值
    public function last_id() {
        return mysql_insert_id($this->conn);
    }
    // 選庫函數(shù)
    public function select_db() {
        $sql = 'use ' . $this->db;
        return $this->query($sql);
    }
    // 設(shè)置字符集的函數(shù)
    public function setChar() {
        $sql = 'set names utf8';
        return $this->query($sql);
    }
    // 自動生成insert語句,update語句并執(zhí)行
    public function autoExecute($data,$table,$act='insert',$where='') {
   
        if($act == 'insert') {
            $sql = 'insert into ' . $table . ' (';
            $sql .= implode(',',(array_keys($data)));
            $sql .= ') values (\'';
            $sql .= implode("','",array_values($data));
            $sql .= "')";
        } else if($act == 'update') {
            if(!trim($where)) {
                return false;
            }
           
            $sql = 'update ' . $table . ' set ';
            foreach($data as $k=>$v) {
                $sql .= $k;
                $sql .= '=';
                $sql .= "'".$v."',";
            }
           
            $sql = substr($sql,0,-1);
            $sql .= ' where ';
            $sql .= $where;
        } else {
            return false;
        }
        //return $sql;
        return $this->query($sql);

    }
}

標簽: Mysql 數(shù)據(jù)庫

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Java采用zip壓縮文件代碼示例

下一篇:Java獲得代理環(huán)境下的真實IP