首頁  >  文章  >  後端開發  >  php 與sql回傳值不同怎麼辦

php 與sql回傳值不同怎麼辦

藏色散人
藏色散人原創
2022-10-18 09:34:221219瀏覽

php與sql回傳值不同是因為程式碼對結果做了只取目前一行的處理,其解決方法是:1、找到對應的PHP程式碼檔案;2、透過「$query->result ()」方法取得完全的結果;3、保存已修改的文件即可。

php 與sql回傳值不同怎麼辦

本教學操作環境: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裡的查詢結果

php 與sql回傳值不同怎麼辦

這是程式裡取得的方法,然後列印

php 與sql回傳值不同怎麼辦

這是頁面的列印結果

php 與sql回傳值不同怎麼辦

疑問:底層sql語句都是用$this->db->query去查詢,不會在底層對sql語句加限制,要限制,就自己在sql裡加limit去限制條數。
我的sql也沒有限制limit,不知道為什麼只出來一條

解決方法:

ci 框架裡面寫法和這個很相似。剛才很多人都說了,row 的解釋:

php 與sql回傳值不同怎麼辦

#如果想要得到完全的結果請使用-$query->result() 來取得結果。

 如果是用的CI請看下http://codeigniter.org.cn/user_guide/database/results.html#id2這個位址裡面有解釋!

總結下:遇到這樣的問題可以先看下手冊

推薦學習:《PHP影片教學

以上是php 與sql回傳值不同怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn