MySQLDB.class.php

<?php
class MySQLDB{
    //屬性
    public $host;//服務器地址
    public $name;//登陸名
    public $pwd;//登陸密碼
    public $dbname;//數據庫名
    public $charset;//字符集
    
    
    private static $link;//mysql鏈接資源
    private static $resoult;//結果集
    
    //單例模式
    public static function getInstance($config){
//        echo "getInstance";
        if(!isset(self::$link)){
            self::$link = new self($config);
        }
        return self::$link;
    }
    

    /*
    構造方法功能:初始化數據
    參數:關聯數組
    返回:無
    */
    private function __construct($config){
//        echo "__construct";
        //初始化數據
        $this->host = isset($config["host"])? $config["host"]:"localhost";
        $this->port = isset($config["port"])? $config["port"]:"3306";
        $this->name = isset($config["username"])? $config["username"]:"root";
        $this->pwd = isset($config["password"])? $config["password"]:"mysql";
        $this->dbname = isset($config["dbname"])? $config["dbname"]:"phpshop";
        $this->charset = isset($config["charset"])? $config["charset"]:"utf8";
        
        //設置鏈接
        $this->connect();
        //設置字符集
        $this->setChar();
        
    }
    //禁止克隆
    private  function __clone(){}
    
    public function connect(){
//        echo "connect";
        //設置鏈接資源
        self::$resoult = new MySQLi($this->host,$this->name,$this->pwd,$this->dbname);
        !mysqli_connect_error() or die("鏈接失敗");
    }
    
    public function setChar(){
//        echo "setChar";
        self::$resoult->query("set names ".$this->charset);
//        $res = self::$link->query("select * from team");
//        $attr = $res->fetch_all();
//        var_dump($attr);
    }
    
    /*
    功能:返回結果集
    參數:¥sql
    返回:結果集
    */
    public function query($sql){
        $res = self::$resoult->query($sql);
//        if(!$res){
//            echo ("<br />執行失敗。");
//            echo "<br />失敗的sql語句爲:" . $sql;
//            echo "<br />出錯信息爲:" . mysql_error();
//            echo "<br />錯誤代號爲:" . mysql_errno();
//            die();
//        }
        return $res;
    }

    /*
    功能:根據結果集 
    參數:$sql
    返回:結果 
    */
    public function getAll($sql){
        
        $res = $this->query($sql);
        $arr = array();    //空數組
        //將結果集轉爲二維關聯數組
        while($row = $res->fetch_assoc()){
            $arr[] = $row;//這樣就造成二維數組
        }
        return $arr;
    }
    
    /*
    功能:根據結果集 返回結果 select
    參數:$sql
    返回:結果 
    */
    public function getStr($sql){
        $res = $this->query($sql);
        //將結果集轉爲字符串
        $attr = $res->fetch_all();
        $arr = array();
        foreach($attr as $k=>$v){
            $arr[] = join(",",$v);
        }
        return join("^",$arr);
    }
    
    /*
    功能:根據結果集 返回結果 增刪改
    參數:$sql
    返回:結果 
    */
    public function getjg($sql){
        $res = $this->query($sql);
        return $res;
    }
    
    /*
    功能:根據結果集 返回結果 增刪改
    參數:$sql
    返回:結果json
    */
    public function getJson($sql){
        $res = $this->query($sql);
        $arr = array();
        while($row = $res->fetch_assoc()){
            $arr[] = $row;
        }
        
        return json_encode($arr);
    }
    /*一行數據 返回結果 增刪改
    參數:$sql
    返回:結果json
    */
    public function getOne($sql){
        $res = $this->query($sql);
    
        return $res->fetch_assoc();
    }

}
mysqlDB
相關文章
相關標籤/搜索