zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    mysql 分库分表
    策略模式
    JAVA NIO 选择器
    有关于web server架构的一个小疑问
    Android 吸入动画效果详解
    android中设置TextView/Button 走马灯效果
    浅谈Jquery的使用上篇
    ORA-00376:file x cannot be read at this time
    用VBA宏从一个工作薄复制内容到另一个工作薄
    ovirt node的安装简介
  • 原文地址:https://www.cnblogs.com/sc1314-1218/p/8666825.html
Copyright © 2011-2022 走看看