博客列表 >2019.6.18作业

2019.6.18作业

关超的博客
关超的博客原创
2019年06月28日 15:20:15609浏览

写一个接口, 完成基本的数据表操作:CURD

interface iCurd
{
    public function add($data);

    // 查询
    public function select();

    // 更新
    public function update($data, $where);

    // 删除
    public function del($where);
}

class DB implements iCurd
{
    protected $pdo = null;
    protected $table;
    public function __construct($dsn, $user, $password, $table='user_info')
    {
        $this->pdo = new PDO($dsn, $user, $password);
        $this->table = $table;
    }

    public function select($fields='*', $where='', $limit='0, 10')
    {
        $where = empty($where) ? '' : ' WHERE ' . $where;
        $limit = ' LIMIT ' . $limit;
        
        $sql = 'SELECT '.$fields.' FROM '.$this->table.$where.$limit;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();

        // 返回查询结果集
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    public function add($data)
    {
        $fields = ' (name,age,sex,position,mobile,hiredate)';
        $values = '(:name,:age,:sex,:position,:mobile,:hiredate)';
        $sql = 'INSERT INTO '.$this->table.$fields.' VALUES '.$values;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($data);
        return [
            'count'=>$stmt->rowCount(),
            'id'=>$this->pdo->lastInsertId()
        ];
    }

    public function update($data, $where)
    {
        $keyArr = array_keys($data);
        $set = '';
        foreach ($keyArr as $value) {
            $set .= $value . ' = :' .$value. ', ';
        }
     
        $set = rtrim($set,', ');
        $sql = 'UPDATE '.$this->table.' SET '.$set .' WHERE ' .$where;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($data);

        // 返回被更新数量
        return $stmt->rowCount();
    }

    public function delete($where)
    {
        $sql = 'DELETE FROM '.$this->table.' WHERE '.$where;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();
        return $stmt->rowCount();
    }
}


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