博客列表 >第13章 php基础13- PHP培训九期线上班11.28

第13章 php基础13- PHP培训九期线上班11.28

会上树的猪
会上树的猪原创
2019年12月02日 16:28:10621浏览

实例

<?php
class db{
    public $dsn;
    public $username;
    public $password;
    public $pdo;
    //构造方法,设置pdo连接参数
    public function __construct($dsn,$username,$password){
        $this->dsn=$dsn;
        $this->username=$username;
        $this->password=$password;
        $this->connect();        
    }
    //数据连接方法
    public function connect(){
         try {
                //实例化PDO类,创建PDO对象
                $this->pdo = new PDO($this->dsn,$this->username,$this->password);
                //echo '数据库连接成功';
            } catch (PDOException $e) {
                die('数据库错误:'.$e->getMessage());
            }
    }
    //查询方法 传参说明(表名,字段名或字段名数组,查询条件,排序条件,分页条件)
    public function select($table,$fields, $where='', $order='',$limit=''){
        //连接pdo
         $this->connect();
        //创建SQL语句
        $sql = 'SELECT ';
        if (is_array($fields)) {
            foreach ($fields as $field) {
                $sql .= $field.', ';
            }
        } else {
            $sql .= $fields;
        }
        $sql = rtrim(trim($sql),',');
        $sql .= '  FROM '.$table;
        //查询条件
        if(!empty($where)){
            $sql .= ' WHERE '.$where;
        }
        //排序条件
        if(!empty($order)) {
            $sql .= ' order by '.$order;
        }
        //分页条件
        if(!empty($limit)) {
            $sql .= ' limit '.$limit;
        }
        $sql .= ';';
        //创建PDO预处理对象
        $stmt = $this->pdo->prepare($sql);
        //执行查询操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
                $stmt->setFetchMode(PDO::FETCH_ASSOC);
                //返回一个二维数组
                return $stmt->fetchAll();
            }
        } else {
            return false;
        }
    }
    //插入数据方法 传参说明(表名,值(数组[字段名=>值]))
    function insert($table,$data=[]){
        //连接pdo
        $this->connect();
        //创建SQL语句
        $sql = "INSERT INTO {$table} SET ";
        //组装插入语句
        if(is_array($data)){
            foreach ($data as $k=>$v) {
                $sql .= $k.'="'.$v.'", ';
            }
        }else{
            return false;
        }
        //去掉尾部逗号,并添加分号结束
        $sql = rtrim(trim($sql),',').';';
        //创建PDO预处理对象
        $stmt = $this->pdo->prepare($sql);
        //执行新增操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
            	echo '添加成功';
                return false;
            }
        } else {
            return false;
        }
    }
    //更新数据方法 传参说明(表名,值(数组[字段名=>值]),条件)
    function update($table,$data=[], $where='') {
        //连接pdo
        $this->connect();
        //创建SQL语句
        $sql = "UPDATE {$table} SET ";
        //组装修改语句
        if(is_array($data)){
            foreach ($data as $k=>$v) {
                $sql .= $k.'="'.$v.'", ';
            }
        }
        //去掉尾部逗号,并添加分号结束
        $sql = rtrim(trim($sql),',');
        //查询条件
        if(!empty($where)){
            $sql .= ' WHERE '.$where;
        }
        //创建PDO预处理对象
        $stmt = $this->pdo->prepare($sql);
        //执行新增操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
            	echo '更新成功';
                return true;
            }
        } else {
            return false;
        }
    }
        //删除数据方法 传参说明(表名,条件)
    function delete($table,$where=''){
        //连接pdo
        $this->connect();
        //创建SQL语句
        $sql = "DELETE FROM {$table}  ";
        //查询条件
        if(!empty($where)){
            $sql .= ' WHERE '.$where;
        }
        //创建PDO预处理对象
        $stmt =  $this->pdo->prepare($sql);
        //执行删除操作
        if($stmt->execute()){
            if($stmt->rowCount()>0){
            	echo '删除成功';
                return true;
            }
        } else {
            return false;
        }
    }
}
//创建对像
$db = new db('mysql:host=localhost;dbname=zy','root','root');
// 调用查询数据方法
$user=$db->select('classification','*','','','');
print_r($user);
// 调用插入数据方法
//$db->insert('classification',['name'=>'mg','alias'=>'美国大片','status'=>1]);
// 调用更新数据方法
//$db->update('classification',['name'=>'mlxy','alias'=>'马来西亚'],'cate_id=12');
// 调用删除数据方法
//$db->delete('classification','cate_id=14');
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

QQ截图20191202162117.png

QQ截图20191202161406.png

QQ截图20191202161429.png

QQ截图20191202161853.png

QQ截图20191202161906.png

QQ截图20191202162013.png

QQ截图20191202162027.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议