登录  /  注册
博主信息
博文 23
粉丝 0
评论 0
访问量 13074
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
2019100902
王长中的博客
原创
575人浏览过

实例

interface iCurd
{
    //查询数据
    public function select();

    //删除数据
    public function delete($where);

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

    //添加数据
    public function insert($data);
}

class Db implements iCurd
{
    //定义数据库的连接对象
    protected $pdo;
    //定义数据库连接的数据表
    protected $table;

    public function __construct($dsn, $user, $password, $table = 'user')
    {
        $this->pdo = new \PDO($dsn, $user, $password);
        $this->table = $table;

    }

//查询数据
    public function select($fields = '*', $where = '')
    {
        $where = empty($where) ? '' : ' WHERE ' . $where;
        //拼装sql语句
        $sql = 'SELECT ' . $fields . ' FROM ' . $this->table . $where;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();
        return $stmt->fetchAll(\PDO::FETCH_ASSOC);
    }

    //删除数据
    public function delete($where)
    {
        $where = empty($where) ? '' : ' WHERE ' . $where;
        $sql = 'DELETE ' . ' FROM ' . $this->table . $where;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();
        echo '成功删除了' . $stmt->rowCount() . '条记录!';
    }

    //更新数据
    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;
        //die($sql);
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($data);
        echo '成功更新 ' . $stmt->rowCount() . '记录';
    }

    //添加数据
    public function insert($data)
    {
        //列字段
        $fields = ' (name,sex,age) ';
        $values = ' (:name,:sex,:age) ';
        $sql = 'INSERT INTO ' . $this->table . $fields . ' VALUES ' . $values;
        //die($sql);
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($data);
        echo '成功添加' . $stmt->rowCount() . '条记录!' . '<br>';
        echo '新记录的ID是:' . $this->pdo->lastinsertid();
    }
}

//调用
$dsn = 'mysql:host=127.0.0.1;dbname=cksjk';
$user = 'wcz';
$password = '210584';
$table = 'user';
$db = new Db($dsn, $user, $password, $table);
//查询
//foreach ($db->select() as $item) {
//    print_r($item); echo '<br>';
//}
//echo '<hr>';

//删除
//$db->delete('id=2');

//新增
//$data = ['name' => "wcgz", 'sex' => 1, 'age' => 25];
//$db->insert($data);
$data = ['age' => 38
];
$where = "name='wcz'";
$db->update($data, $where);

运行实例 »

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

总结:

        1,接口就是类的模板,里面的方法是子类必须全部实现的,如果仅部分实现,用抽象类实现;

        2,接口中只能有方法或类常量,不能声明变量成员;

        3,接口中的方法都是public类型的,因为大家都要用;

        4,接口中的方法都是空的,参数可有可无;


批改状态:合格

老师批语:接口中的参数, 要看协议
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学