ThinkPhp查询数据库的几种方式
2014-06-20 09:47
176 查看
介绍ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作,查询条件可以用于读取、更新和删除等操作,主要涉及到where方法等连贯操作即可,无论是采用什么数据库,你几乎采用一样的查询方法(个别数据库例如Mongo在表达式查询方面会有所差异),系统帮你解决了不同数据库的差异性,因此我们把框架的这一查询方式称之为查询语言。查询语言也是ThinkPHP框架的ORM亮点,让查询操作更加简单易懂。下面来一一讲解查询语言的内涵。一、使用字符串作为查询条件这是最传统的方式,但是安全性不高$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使用对象方式查询和使用数组查询的效果是相同的,并且是可以互换的,大多数情况下,我们建议采用数组方式更加高效。
相关文章推荐
- Thinkphp 模型->数据库查询方式
- 几种数据库在ibatis中模糊查询方式
- NHibernate 有好几种数据库查询方式
- JDBC 数据库的几种查询方式(二)
- 数据库优化查询的几种方式
- ThinkPHP 学习笔记 8.数据库的查询方式
- JDBC 数据库的几种查询方式(一)
- tp3,thinkphp3.2怎么使用数组的方式来模糊查询数据库
- 关于数据库查询中的几种连接
- 数据库的几种连接方式
- 数据库查询的几种方法
- 【自然框架】之通用权限:数据库设计的几种使用方式
- 数据库中查询的字段中含有单引号的处理方式
- 数据库迁移几种方式
- 数据查询分页的几种实现方式
- 数据库相关:小结Hibernate的查询方式
- hibernate数据查询的几种方式
- VB与各数据库的几种连接方式
- 尝试了几种往数据库插入数据的方式
- C#中通过OLE方式连接informix数据库与查询数据方式