浅析ThinkPHP中execute和query方法的区别
初学ThinkPHP的时候,很多人都对execute()和query()方法的区别搞不懂,本文就此浅析二者的区别。
大家都知道,ThinkPHP中execute()和query()方法都可以在参数里直接输入SQL语句。但是不同的是execute()通常用来执行insert或update等SQL语句,而query常用来执行select等语句。
execute()方法将返回影响的记录数,如果执行SQL的select语句的话,返回的结果将是表的总记录数:
代码如下:
$model = M( "MyTable" );
$result = $model ->execute( 'update MyTable set name=aaa where id=11'); //将返回总行数
$model = M( "MyTable" );
$result = $model ->query( 'select * from MyTable' ); //将返回array()
相关推荐
-
thinkPHP实现多字段模糊匹配查询的方法
本文实例讲述了thinkPHP实现多字段模糊匹配查询的方法.分享给大家供大家参考,具体如下: 引言:有时候查询要匹配多个字段.比如查询地址,地址是由多个字段组成的.有省.市.区等等,以及详细地址.这个时候如何查询呢? 实现不同字段相同的查询条件 $User = M("User"); // 实例化User对象 $map['name|title'] = 'thinkphp'; // 把查询条件传入查询方法 $User->where($map)->select(); 用到项目中
-
ThinkPHP之getField详解
getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值.但是事实上并没有那么简单,现将该方法的用法总结如下: 1.获取某个字段值 这个是getField方法最基本的用法,用于获取符合条件的某个字段值. $User = M("User"); // 实例化User对象 // 获取ID为3的用户的昵称 $nickname = $User->where('id=3')->getField('nickname');
-
thinkphp数据查询和遍历数组实例
本文实例讲述了thinkphp数据查询和遍历数组的方法.分享给大家供大家参考.具体方法如下: 数据库可以使用DSN方法进行配置: 复制代码 代码如下: 'DB_PREFIX'=>'tp_', //设置表前缀 'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息 如果两种方式同时存在,以DSN方式为优先,还有一种简单实用模型的方式. M() 等效为 new Model(); 复制代码 代码如下: $m=M('Use
-
thinkphp3查询mssql数据库乱码解决方法分享
thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码 解决方法: 1:在ThinkPHP\Lib\Core 打开Db.class.php,在其最后面加上2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result=iconv2utf8($result),就OK了 复制代码 代码如下: public functi
-
Thinkphp连表查询及数据导出方法示例
本文实例讲述了Thinkphp连表查询及数据导出的方法.分享给大家供大家参考,具体如下: 这今天实验室的招新工作就要展开了,我们通过实验室网站关联到杭电OJ,大一的新生将他们杭电的用户名在实验室网站提交,网站就会通过网络爬虫到杭电OJ上面进行数据抓取存到实验室数据库. 现在我要做的事就是把新生表和新生OJ数据表联合导出.实验室网站是用thinkphp框架开发的.所以根据以前的工作经验.问题很快就解决了. 现在跟大家分享一下. thinkphp的扩张类都是放在ORG目录下面,在通过import()
-
Thinkphp使用mongodb数据库实现多条件查询方法
有个项目用了mongodb数据库,查询条件有and也有or,按Thinkphp官方手册,使用复合查询(_complex),getLastSql输出查询语句,发现查询条件是空的.用字符串模式查询(_string),请求字符串查询(_query)无法满足需求.估计用mongodb的用户不多,thinkphp官方对这方面支持也不够.打开thinkphp的mongodb驱动,Thinkphp/Extend/Driver/Db/DbMongo.class.php,找到protected function
-
thinkPHP简单实现多个子查询语句的方法
本文实例讲述了thinkPHP简单实现多个子查询语句的方法.分享给大家供大家参考,具体如下: sql语句博大精深 理解好sql语句,就能用好thinkphp等框架中的数据库操作 原sql: SELECT a.*,b.* from (SELECT a.id as opener_id,a.name,sum(c.money) as bonus_money,c.year,c.month from sh_opener a LEFT JOIN sh_opener_bonus b on a.id = b.op
-
ThinkPHP采用原生query实现关联查询left join实例
本文实例讲述了ThinkPHP采用原生query实现关联查询left join的方法.分享给大家供大家参考.具体如下: thinkphp提供了join方法来实现关联查询,但是很不好用,还是用原生的方便,所以推荐大家用query方法: 复制代码 代码如下: $Model = new Model(); $sql = "SELECT a.id, a.attr_name, a.attr_input_type, a.attr_type, a.attr_values, v.attr_val
-
thinkPHP数据查询常用方法总结【select,find,getField,query】
本文实例讲述了thinkPHP数据查询常用方法.分享给大家供大家参考,具体如下: thinkphp已经封装好了常用的查询方法,且都比较实用,对于不常用的查询框架也保留了原始查询方法query. $Model = new Model() // 实例化一个model对象 没有对应任何数据表 $Model->query("select * from think_user where status=1"); 如果刚学Thinkphp对框架不太了解可以用query($sql) 和 exec
-
ThinkPHP查询语句与关联查询用法实例
本文实例讲述了ThinkPHP查询语句与关联查询用法.分享给大家供大家参考.具体如下: 在thinkphp框架页面中我们可以直接拼写sql查询语句来实现数据库查询读写操作,下面就对此加以实例说明. 普通查询除了字符串查询条件外,数组和对象方式的查询条件是非常常用的,这些是基本查询所必须掌握的. 一.使用数组作为查询条件 复制代码 代码如下: $User = M("User"); //实例化User对象 $condition['name'] = 'thinkphp'; // 把查询条件传
-
thinkphp中多表查询中防止数据重复的sql语句(必看)
下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. select *, count(distinct name) from table group by name 结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1 最后一 项是多余的,不用管就行了 tp2.0手册 搜索连贯操作 可看到相关的资料 SELECT cat_id, COUNT(*) AS
随机推荐
- windows下部署免费ssl证书(letsencrypt)的方法
- Python是编译运行的验证方法
- rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,conn,3,2区别
- javascript面向对象之一 定义类
- Java接口定义与实现方法分析
- php类中private属性继承问题分析
- android实现App活动定时自动跳转效果
- C#获取真实IP地址实现方法
- Android给图片加文字和图片水印实例代码
- mySQL中LEN()与DATALENGTH()的区别
- linux使用scp命令备份文件 scp拷贝文件
- sql自动增长标识导致导入数据问题的解决方法
- jQuery实现点击图片翻页展示效果的方法
- jQuery实现批量判断表单中文本框非空的方法(2种方法)
- JavaScript函数参数使用带参数名的方式赋值传入的方法
- javascript中传统事件与现代事件
- 微信小程序 生命周期函数详解
- Android实现仿通讯录侧边栏滑动SiderBar效果代码
- 编写调用新浪微博API的Java程序来发送微博
- Android定时器和Handler用法实例分析