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

 

posted @ 2018-03-28 22:27  邹少聪  阅读(137)  评论(0编辑  收藏  举报