//

Information for details

PHP简单数据库操作类

给大家推荐一个php数据库操作类,一般的数据库操作已经够用了,主要是针对初学者,希望对菜鸟们起点帮助

/*
 * 功能描述: 数据库操作类
 *
 */

class dbLib{
    
    public $db_type  = 'mysql'; //数据库类型
    public $host_name = 'localhost';
    public $db_name   = 'cms';  //数据库名称
    public $user_name = 'root';
    public $password = 'root';
    public $char_set  = 'UTF8'; //编码
    public $pdo_obj   = '';
    
    //编写构造函数:功能:初始化PDO 设置编码
    public function __construct(){
        $this->pdo_obj = new PDO($this->db_type.':host='.$this->host_name.';db_name='.$this->db_name,$this->user_name,$this->password);
        $this->pdo_obj->query('set names '.$this->char_set);
    }
    
    //数据写入方法 (实现insert语句的自动构建)
    public function insert($arr,$tableName,$parts){
        //1构建insert 语句
    
        if(isset($arr['x'])){
            unset($arr['x']);
        }
        if(isset($arr['y'])){
            unset($arr['y']);
        }
        $sql_col = '';
        $sql_val = '';
        foreach ($arr as $key=>$values){
            
            $sql_col .= $parts.$key.',';
            $sql_val .= '?,';
            $arrV[] = $values;
            
        }
        $sql_col = substr($sql_col, 0,strlen($sql_col)-1);
        $sql_val = substr($sql_val, 0,strlen($sql_val)-1);
        $sql_All = "insert into ".$tableName.' ('.$sql_col.') values ('.$sql_val.');';
        
        //2执行sql语句 使用预处理
        $stat = $this->pdo_obj->prepare($sql_All);
        return $stat->execute($arrV);
    }
    
    //数据查询方法fetch (查询一条数据的方法)
    public function fetch($sql,$arr){
        $stat = $this->pdo_obj->prepare($sql);
        $stat->execute($arr);
        $arrs = $stat->fetch(PDO::FETCH_ASSOC);
        return $arrs;
    }
    
    //数据查询方法fetchAll (查询多条数据的方法)
    public function fetchAll($sql,$arr){
        $stat = $this->pdo_obj->prepare($sql);
        $stat->execute($arr);
        $arrs = $stat->fetchAll(PDO::FETCH_ASSOC);
        return $arrs;
    }
    
    //删除数据方法
    public function delete($sql,$arr){
        $stat = $this->pdo_obj->prepare($sql);
        return $stat->execute($arr);
    }
    
    //update 方法
    
    public function update($arr,$tableName,$parts,$where,$whereV){
        // update 表名称 set 字段名称 = ?,字段名称 = ?,字段名称 = ?  where t_id = ?

        $sql_col = '';
        foreach ($arr as $key=>$values){
            $sql_col .= $parts.$key.' = ?,';
            $arrV[]   = $values;
        }
        $sql_col = substr($sql_col, 0,strlen($sql_col)-1);
        $arrV[] = $whereV;
        $sql_all = "update ".$tableName." set ".$sql_col." ".$where;
        $stat = $this->pdo_obj->prepare($sql_all);
        return $stat->execute($arrV);
    }
}


云南然成科技有限公司是一家专门从事各种软件开发(比如:网站建设开发微信公众号开发、微信小程序开发、APP开发)的互联网公司,是云南省科技厅、省财政厅、省地税局、省国税局等认定的高新技术企业!

  • 滇公网安备 53010202001388号