ThinkPHP参数绑定是指绑定一个参数到预处理的SQL语句中的对应命名占位符或问号占位符指定的变量,并且可以提高SQL处理的效率。
ThinkPHP参数绑定之手动绑定的方法示例
参数手动绑定需要调用连贯操作的bind方法,例如:
$Model = M('User'); $where['name'] = ':name'; $list = $Model->where($where)->bind(':name',I('name'))->select();
目前不支持?方式
进行占位符,统一使用 :var
方式进行占位符,驱动内部会自动进行处理。
参数绑定的参数可以是条件或者要data数据中的参数,CURD操作均可以支持参数绑定bind方法。
可以支持指定绑定变量的类型参数,例如:
$Model = M('User'); $where['id'] = ':id'; $list = $Model->where($where)->bind(':id',I('id'),\PDO::PARAM_INT)->select();
也可以批量绑定,例如:
$Model = M('User'); $where['id'] = ':id'; $where['name'] = ':name'; $bind[':id'] = array(I('id'),\PDO::PARAM_INT); $bind[':name'] = array(I('name'),\PDO::PARAM_STR); $list = $Model->where($where)->bind($bind)->select();