您的位置:首页 > 编程语言 > PHP开发

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