想要的查询结果:传入手机号和类型,把Y-m-dH:i:s文本格式的时间字段转换成Y-m-d的格式,并分组+统计个数
publicfunctiongetSmsByTelephone($sms_mobile,$type){$query=$this->db->query("SELECTDATE_FORMAT(`add_date`,'%Y-%m-%d')num,count(*)FROM".DB_PREFIX."sms_mobileWHEREsms_mobile='".$sms_mobile."'ANDtype='".$type."'groupbynum");return$query->row;}
这是在phpadmin里的查询结果
这是程序里获取的方法,然后打印
这是页面的打印结果
疑问:底层sql语句都是用$this->db->query去查询,不会在底层对sql语句加限制,要限制,就自己在sql里加limit去限制条数。
我的sql也没有限制limit,不知道为什么只出来一条
return$query->row;
这不是返回一条数据的意思吗?
看起来就像是你只返回了一行的结果,你再检查一下你返回结果的代码。
谢邀。
看到您是直接输出的Row
。我估计您用的是什么框架,Row
本身就是一行的意思
rown.行,排;划船;街道;吵闹
楼主看这里Fetach
呵呵哒,你找到重写的那个地方,看看写成啥了,确定是不是返回一行,再来问吧。。
ci框架里面写法和这个很相似。刚才很多人都说了,row的解释:
如果想要获取完全的结果请使用-$query->result()
来获取结果。
总结下:遇到这样的问题可以先看下手册,技术就是在不断的解决问题中成长的,多交流!
从你返回的结果看,可以肯定的是对结果做了只取当前一行的处理,不是limit的问题,要不然的话,返回结果是这样的
array(1){[0]=>array(2){"num"=>string(10)"xxxx","count"=>string(1)"2"}}
基本上就是row()的问题了,你可以把这个方法的代码贴出来
建议获取最后一条sql语句来查看这条语句有什么问题:
$this->db->getLastSql($this->name);