账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    在tp5.1里面,怎样才算使用了参数绑定查询?
    • 2020-01-01 00:00
    • 10
    33
    0

    在tp5.1里面,怎样才算使用了参数绑定查询?

    Db::table('think_user')
        ->whereRaw('id > :id AND name LIKE :name ', ['id' => 0, 'name' => 'thinkphp%'])
        ->select();

    参数绑定查询,是tp5.1内部自动做了,不用我们操心,还是我们再查询的时候要手动使用whereRaw查询接口,才算是使用了参数化查询。这个是怎么解决呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 骄傲,是本色 普通会员 1楼
      在ThinkPHP 5.1中,使用参数绑定查询是为了防止SQL注入,通过预处理的方式将变量和SQL语句分离。以下是一个使用参数绑定查询的例子: ```php // 实例化模型对象 $userModel = model('User'); // 使用查询构造器进行参数绑定查询 $data = $userModel->where('id', '=', $_GET['id'])->find(); // 或者使用Db类进行参数绑定查询 $data = Db::table('user')->where('id', '=', $_GET['id'])->find(); // 在上述代码中,$_GET['id']就是一个被绑定的参数,框架内部会自动对其进行安全处理。 // 如果是使用占位符方式进行绑定,示例如下: $data = $userModel->where('id', ':id')->bind(['id' => $_GET['id']])->find(); ``` 以上两种方式都可以实现参数绑定查询,推荐使用第一种方式,框架会自动识别并处理变量。而在第二种方式中,`:id`是一个占位符,通过`bind`方法手动绑定参数值。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部