tp5 mysql Db:query問題


Invalid parameter number

和許多網友遇到的問題一樣,sql放在數據庫執行就可以,但是拉到代碼里,用Db:query(sql,param)這個方法就出問題。

每個參數調試過以后,發現是由於有兩個參數,每個參數有用到兩次,導致了沖突。修改參數以后,重復賦值,問題解決。

    LEFT JOIN ( SELECT * FROM `order` WHERE MONTH ( create_time ) = :m AND YEAR ( create_time ) = :y ) o ON t.id = o.tableID
    LEFT JOIN ( SELECT * FROM `order` WHERE MONTH ( create_time ) = :m AND YEAR ( create_time ) = :y AND state = :s ) ro ON t.id = ro.tableID

就是這個代碼里的:m和:y用了兩次導致的問題。

    LEFT JOIN ( SELECT * FROM `order` WHERE MONTH ( create_time ) = :m1 AND YEAR ( create_time ) = :y1 ) o ON t.id = o.tableID
    LEFT JOIN ( SELECT * FROM `order` WHERE MONTH ( create_time ) = :m2 AND YEAR ( create_time ) = :y2 AND state = :s ) ro ON t.id = ro.tableID

修改參數后,問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM