php与sql返回值不同是因为代码对结果做了只取当前一行的处理,其解决办法是:1、找到相应的PHP代码文件;2、通过“$query->result()”方法获取完全的结果;3、保存已修改的文件即可。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php 与sql返回值不同怎么办?
具体问题描述:
想要的查询结果:传入手机号和类型,把Y-m-d H:i:s文本格式的时间字段转换成Y-m-d的格式,并分组+统计个数
这是项目里的sql语句,注:返回结果的语句项目里有重写,返回的是查询的所得到的所有结果,并不是返回一行的结果(天啊,我再重点重申一次,人家重写了!人家重写了!人家重写了!不要再用惯性思维看了...)
public function getSmsByTelephone($sms_mobile,$type) { $query = $this->db->query("SELECT DATE_FORMAT(`add_date`, '%Y-%m-%d') num,count(*) FROM " . DB_PREFIX . "sms_mobile WHERE sms_mobile = '" . $sms_mobile ."' AND type = '" . $type . "' group by num"); return $query->row; }
这是在phpadmin里的查询结果
这是程序里获取的方法,然后打印
这是页面的打印结果
疑问:底层sql语句都是用$this->db->query去查询,不会在底层对sql语句加限制,要限制,就自己在sql里加limit去限制条数。
我的sql也没有限制limit,不知道为什么只出来一条
解决办法:
ci 框架里面写法和这个很相似。刚才很多人都说了,row 的解释:
如果想要获取完全的结果请使用-$query->result() 来获取结果。
如果是用的CI请看下http://codeigniter.org.cn/user_guide/database/results.html#id2这个地址里面有解释!
总结下:遇到这样的问题可以先看下手册
推荐学习:《PHP视频教程》
以上是php 与sql返回值不同怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!