thinkphp中有预处理吗

发布时间 - 2022-04-07 00:00:00    点击率:
thinkphp中有预处理。“ThinkPHP3.1”版本增加了对条件字符串进行预处理的支持,让ORM的安全性更加得以保证。方法:1、使用where方法对字符串条件预处理;2、使用query和execute方法对原生SQL查询方式预处理。

本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。

thinkphp中有预处理吗

thinkphp中有预处理

以往的ThinkPHP3.0版本对数组方式的查询条件会进行安全过滤(这是由于3.0强制使用了字段类型检测,所以数组方式的查询条件会强制转换为字段的设定类型),但是3.0版本并不支持字符串条件的安全过滤。而ThinkPHP3.1版本则增加了对条件字符串进行预处理的支持,让ORM的安全性更加得以保证。

一、使用where方法

Model类的where方法支持字符串条件预处理,使用方式:

$Model->where("id=%d and username='%s' and
xx='%f'",array($id,$username,$xx))->select();

或者直接使用:

$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();

如果$id变量来自用户提交或者URL地址的话,如果传入的是非数字类型,则会强制格式化为数字格式后进行查询操作。

字符串预处理格式类型支持指定数字、字符串等,具体可以参考vsprintf方法的参数说明。

二、使用query和execute方法

除了where条件外,对原生SQL查询方式也支持预处理机制,例如:

$Model->query("SELECT * FROM think_user WHERE id=%d and username='%s' and xx='%f'",array($id,$username,$xx));

模型的execute方法也和query方法一样支持预处理机制。

推荐学习:《PHP视频教程》


# thinkphp  # php  # sql  # 字符串  # 数字类型  # 中有  # 增加了  # 这是  # 转换为  # 则会  # 以往  # 使用了  # strong  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  深入理解Android中的xmlns:tools属性  深圳网站制作的公司有哪些,dido官方网站?  PHP 500报错的快速解决方法  JavaScript如何实现错误处理_try...catch如何捕获异常?  奇安信“盘古石”团队突破 iOS 26.1 提权  高端企业智能建站程序:SEO优化与响应式模板定制开发  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Python面向对象测试方法_mock解析【教程】  历史网站制作软件,华为如何找回被删除的网站?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  什么是javascript作用域_全局和局部作用域有什么区别?  *服务器网站为何频现安全漏洞?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何用低价快速搭建高质量网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何快速搭建高效WAP手机网站?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  用yum安装MySQLdb模块的步骤方法  如何在建站宝盒中设置产品搜索功能?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel如何实现数据库事务?(DB Facade示例)  简历没回改:利用AI润色让你的文字更专业  Android利用动画实现背景逐渐变暗  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何快速查询网址的建站时间与历史轨迹?  做企业网站制作流程,企业网站制作基本流程有哪些?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  在线教育网站制作平台,山西立德教育官网?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何用狗爹虚拟主机快速搭建网站?  Laravel如何使用.env文件管理环境变量?(最佳实践)  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  zabbix利用python脚本发送报警邮件的方法  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何快速搭建高效简练网站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  清除minerd进程的简单方法  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何打造高效商业网站?建站目的决定转化率  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】