thinkphp如何查询数据库
发布时间 - 2019-08-23 00:00:00 点击率:次
thinkphp如何查询数据库?
数据库查询
ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作。
查询条件可以用于CURD等任何操作,作为where方法的参数传入即可。
ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。
查询方式
一、使用字符串作为查询条件
这是最传统的方式,但是安全性不高,例如:
$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select();最后生成的SQL语句是
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用数组作为查询条件
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查询条件传入查询方法
$User->where($condition)->select();最后生成的SQL语句是
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR'; //定义查询逻辑
// 把查询条件传入查询方法
$User->where($condition)->select();最后生成的SQL语句是
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
三、使用对象方式来查询 (这里以stdClass内置对象为例)
$User = M("User"); // 实例化User对象
// 定义查询条件
$condition = new stdClass();
$condition->name = 'thinkphp';
$condition->status= 1;
$User->where($condition)->select();最后生成的SQL语句和上面一样
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
使用对象方式查询和使用数组查询
的效果是相同的,并且是可以互换的,大多数情况下,我们建议采用数组方式更加高效,后面我们会以数组方式为例来讲解具体的查询语言用法。
表达式查询
上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,并且可以用于数组或者对象方式的查询(下面仅以数组方式为例说明),查询表达式的使用格式:
$map['字段名'] = array('表达式','查询条件');表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:
$map['id'] = array('eq',100); id = 100;
$map['id'] = array('egt',100);id >= 100
$map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查询
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')本文来自ThinkPHP框架技术文章栏目:http://www./phpkj/thinkphp/
# thinkphp
# 为例
# 多字
# 是一个
# 这是
# 推荐使用
# 不高
# 几种
# 可以使用
# 不分
# 会以
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Java垃圾回收器的方法和原理总结
如何快速登录WAP自助建站平台?
简历在线制作网站免费版,如何创建个人简历?
HTML 中动态设置元素 name 属性的正确语法详解
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
敲碗10年!Mac系列传将迎来「触控与联网」双革新
JavaScript如何实现路由_前端路由原理是什么
免费视频制作网站,更新又快又好的免费电影网站?
Laravel怎么实现验证码(Captcha)功能
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
再谈Python中的字符串与字符编码(推荐)
利用JavaScript实现拖拽改变元素大小
Laravel中的Facade(门面)到底是什么原理
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
文字头像制作网站推荐软件,醒图能自动配文字吗?
韩国服务器如何优化跨境访问实现高效连接?
如何快速生成可下载的建站源码工具?
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
SQL查询语句优化的实用方法总结
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
java获取注册ip实例
java ZXing生成二维码及条码实例分享
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Python图片处理进阶教程_Pillow滤镜与图像增强
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
太平洋网站制作公司,网络用语太平洋是什么意思?
Linux网络带宽限制_tc配置实践解析【教程】
南京网站制作费用,南京远驱官方网站?
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
,在苏州找工作,上哪个网站比较好?
如何快速搭建安全的FTP站点?
网站建设保证美观性,需要考虑的几点问题!
如何快速查询网址的建站时间与历史轨迹?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何在云虚拟主机上快速搭建个人网站?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何快速建站并高效导出源代码?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
教学论文网站制作软件有哪些,写论文用什么软件
?
打造顶配客厅影院,这份100寸电视推荐名单请查收
Android仿QQ列表左滑删除操作
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?

