
正文
关于querythinkphp的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
浅析ThinkPHP中execute和query方法的区别
大家都知道,thinkphp中execute()和query()方法都可以在参数里直接输入sql语句。但是不同的是execute()通常用来执行insert或update等sql语句,而query常用来执行select等语句。
waw = M();res = $waw-query($sql); 或 $res = $waw-execute($sql);由于$sql中包含了表名,实例化模型时可以为空。注:query()与execute()是有区别的,不能乱用,详见ThinkPHP光放手册驱动扩展部分。
如果你当前采用了分布式数据库,并且设置了读写分离的话,query方法始终是在读服务器执行,因此query方法对应的都是读操作,而不管你的SQL语句是什么。上面一段话取自tp1说明文档,写操作需要使用execute方法。
相关问答
Q1: ThinkPHP中execute和query方法的区别
ThinkPHP中execute()和query()方法都可以在参数里直接输入SQL语句。不同的是execute()通常用来执行insert或update等SQL语句,而query常用来执行select等语句。
execute 这个有返回影响数量,比如更新了多少条。query只是做查询,返回结果。
waw = M();res = $waw-query($sql); 或 $res = $waw-execute($sql);由于$sql中包含了表名,实例化模型时可以为空。注:query()与execute()是有区别的,不能乱用,详见ThinkPHP光放手册驱动扩展部分。
如果你当前采用了分布式数据库,并且设置了读写分离的话,query方法始终是在读服务器执行,因此query方法对应的都是读操作,而不管你的SQL语句是什么。上面一段话取自tp1说明文档,写操作需要使用execute方法。
$id,$username,$xx)-select();模型的query和execute方法 同样支持预处理机制,例如:model-query(select * from user where id=%d and status=%d,$id,$status);或者 model-query(select * from user where id=%d and status=%d,array($id,$status));execute方法用法同query方法。
Q2: thinkphp的查询语句-query()和-where怎么连用起来?
http://document.thinkphp.cn/manual_3_html#where,就如此题来说,你传递过来的id值,就是表的主键。pid一般是为父键的意思,$catemodel-where(pid=%d,$_GET[id])-select();查询的是这个id所对应子集的。楼上所说这种,有点曲解楼主的意思。
]=$SQL-where(状态 in (0,1,2,4,8) and 部门名称=.$bmmc.)-field(count(*) as count,状态)-group(状态)-select();大概就这个意思了 单独的状态可以用in +group 出来。剩下的就是用php数组转换成你想要的数据。
$condition)-select();最后生成的SQL语句和上面一样 SELECT * FROM think_user WHERE `name`=thinkphp AND status=1使用对象方式查询和使用数组查询的效果是相同的,并且是可以互换的,大多数情况下,我们建议采用数组方式更加高效,后面我们会以数组方式为例来讲解具体的查询语言用法。
楼上正解,用th的query函数,支持原生查询,返回来的同样就是一个关联数组的结果。
根据题目意思是已知了其中的id的值了,这个主要用sql语句控制即可。sql:select * from 表名 where id 已知id limit 1;如果使用thinkphp专属的查询方式则是:sql:M()-where(id .已知id)-limit(1)-select();如果是很多的话就循环吧。
关于querythinkphp和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







