Blogger Information
Blog 19
fans 1
comment 0
visits 12121
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第13章 php基础13- PHP培训九期线上班11.28
会上树的猪
Original
619 people have browsed it

实例

<?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

Correcting teacher:查无此人查无此人

Correction status:qualified

Teacher's comments:完成的不错,继续加油。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post