PHP数据访问类

  为了更方便的访问数据库和减少代码量而编写的数据访问类,

  类中含有4个成员变量和3个成员函数,成员变量对应引用数据库时所需要的参数,成员函数是为了方便解决不同问题而编写的不同方法

class DBDA{
    public $host="localhost";    //4个成员变量对应4个MySQLi的参数
    public $uid="root";
    public $pwd="";
    public $dbname="ceshi";  
    
    /*    方法一 query
        执行一条sql语句的方法
        @param sql 要执行的sql语句
        @param type sql语句类型,0代表查询,1代表增删改
        @return 如果是查询语句返回二维数组,如果是增删改返回true或false
    */
    public function query($sql,$type=0){    //第一的参数是sql语句,第二个参数是自定义参数,默认是0,0代表查询语句,1代表增删改语句
        $db = new MySQLi("$this->host","$this->uid","$this->pwd","$this->dbname");
        $result = $db->query($sql);        //执行sql语句
        if($type==1){        //条件判断,0代表查询,1代表增删改
            return $result;    
        }else{
            return $result->fetch_all();    //返回二维数组
        }
    }    
    
    /*    方法二    strquery
        执行一条sql语句,返回的是二维数组转换的字符串的方法
        @param sql 要执行的sql语句
        @param type sql语句类型,0代表查询,1代表增删改
        @return 如果是查询语句返回二维数组转换成的字符串,如果是增删改返回true或false
    */
    public function strquery($sql,$type=0){
        $db = new MySQLi("$this->host","$this->uid","$this->pwd","$this->dbname");
        $result = $db->query($sql);
        $str = "";        //设一个空字符串
        if($type==1){
            return $result;    
        }else{
            $arr = $result->fetch_all();
            foreach($arr as $v){
                $str = $str.implode("^",$v)."|";    //遍历数组并且进行字符串的拼接,数据以 aa^ba^ca|ab^bb^cb|ac^bc^cc的方式拼接,相当于列用^间隔,行用|间隔
            }
            $str = substr($str,0,strlen($str)-1);    //之前拼接的字符串最后会多出一个|,去掉
            return $str;    //返回拼接好的字符串,如果数据只有一条,可以直接用此方法直接返回这条数据
        }
    }
    
    /*    方法三    jsonquery
        执行一条sql语句,返回的是二维数组转换的JSON格式数据
        @param sql 要执行的sql语句
        @param type sql语句类型,0代表查询,1代表增删改
        @return 如果是查询语句返回二维数组转换成的JSON格式数据,如果是增删改返回true或false
    */
    public function jsonquery($sql,$type=0){
        $db = new MySQLi("$this->host","$this->uid","$this->pwd","$this->dbname");
        $result = $db->query($sql);
        if($type==1){
            return $result;    
        }else{
            $arr = $result->fetch_all(MYSQLI_ASSOC);    //返回的数组是关联数组    
            return json_encode($arr);    //将关联数组转换成json数据并返回
        }
    }

}

 

posted @ 2018-02-09 00:42  黑山大胖子  阅读(131)  评论(0编辑  收藏  举报