zoukankan      html  css  js  c++  java
  • thinkphp中的参数绑定

    参数绑定是指绑定一个参数到预处理的SQL语句中的对应命名占位符或问号占位符指定的变量,并且可以提高SQL处理的效率,需要数据库驱动类的支持,目前只有PDO和Sqlsrv驱动支持参数绑定功能。

    1、手动绑定:

    1. $Model = M('User');
    2. $where['name'] = ':name';
    3. $list = $Model->where($where)->bind(':name',I('name'))->select();
    4. 把I方法获取到的name赋值给':name';查询name=I(‘name’)的结果,当然也可以直接赋值不用I方法获取。

    目前不支持?方式进行占位符,无论是PDO还是Sqlsrv驱动均统一使用 :var 方式进行占位符,驱动内部会自动进行处理。

    ② 还可以支持指定绑定变量的类型参数:

    1. $list = $Model->where($where)->bind(':id',I('id'),PDO::PARAM_INT)->select();

    ③批量绑定:

    1. $where['id'] = ':id';
    2. $where['name'] = ':name';
    3. $bind[':id'] = array(I('id'),PDO::PARAM_INT);
    4. $bind[':name'] = array(I('name'),PDO::PARAM_STR);
    5. $list = $Model->where($where)->bind($bind)->select();

    2、自动绑定:不支持指定绑定变量的类型参数

    需要开启DB_BIND_PARAM配置参数:'DB_BIND_PARAM'=>TRUE;那么一下代码和上面的批量绑定代码等效,

    1. $Model->name = ':name';
    2. $Model->id = ':id';
  • 相关阅读:
    Oracle+Ado.Net(四)
    Oracle+Ado.Net(三)
    json-server 详解
    在线字体图标
    HTML页面模板代码
    CSS样式重置
    WEB前端开发流程总结
    大前端-全栈-node+easyui+express+vue+es6+webpack+react
    大前端全栈CSS3移动端开发
    jQuery学习
  • 原文地址:https://www.cnblogs.com/dongtong/p/4853615.html
Copyright © 2011-2022 走看看