2015-12-18 59 views
0

特定時期之間的年份和月份我想從數據庫中選擇數據,其中日期字段之間的某個時間段。例如:2015年1月和2015年四月選擇日期哪裏使用查詢生成器Yii

之間
$Q1 = Yii::app()->db->createCommand() 
       ->select('count(kode_lelang) as totTender') 
       ->from('proc_lelang') 
       ->where('year(waktu_mulai)='.$year and 'month(waktu_mulai) between 1 and 4') 
       ->queryAll(); 

但我不認爲我寫正確的語法。所以,請幫助我。

+0

該查詢的輸出是什麼?你爲什麼認爲語法不對?是否有錯誤訊息? – dasjkdj

+0

我需要選擇每4個月的數據。所以我選擇了一月到四月,五月和八月,九月和十二月的數據。他們給了我相同的結果。我認爲我的數據不可能發生。 – dede

+0

這樣的情況如何:2015年12月和2016年2月? – Glapa

回答

1

我認爲錯誤是,「和」是不是裏面的字符串:

$Q1 = Yii::app()->db->createCommand() 
       ->select('count(kode_lelang) as totTender') 
       ->from('proc_lelang') 
       ->where('year(waktu_mulai)='{$year}' and month(waktu_mulai) between 1 and 4') 
       ->queryAll(); 
+0

你說得對。謝謝 – dede

+1

@Diyah請考慮接受並可能upvoting維克多的答案,如果你發現它有幫助。這是在這裏說*感謝*的最佳方式。 – tarleb

0

有一個錯位的報價你其中聲明。使用雙引號和變量替換更簡單。

->where("year(waktu_mulai)={$year} and month(waktu_mulai) between 1 and 4") 

請不認爲這是危險的,如果用戶可以控制可變$year的內容,因爲這可能會導致SQL注入。查看Yii文檔,瞭解如何防止SQL注入。

+0

好的@tarleb。謝謝 – dede

相關問題