2013-04-30 71 views
0

我有以下代碼,我在兩個日期之間的參數上對SQL執行搜索。PHP和SQL過濾器

"SELECT * FROM lbs_ WHERE date >= '" . $dates . "' 
AND date <= '" . $datee . "' AND msisdn='$query'" 

我想要做的就是用它來對當前的日期搜索,據我的理解是日期(),但它不工作,不給我看結果在當前日期爲SQL輸入。

"SELECT * FROM lbs_ WHERE date = '" . date() . "' 
AND msisdn='$query'" 

這是我嘗試

+0

使用'CURDATE()' – 2013-04-30 06:04:26

+0

,你可以做這樣的事情'SELECT * FROM lbs_其中date =「」。日期('Y-m-d')。 '' AND msisdn ='$ query'' – 2013-04-30 06:12:52

回答

0

嘗試date('Y-m-d H:i:s'),而是如果你想使用PHP的日期。

或者使用NOW()直接在SQL

+0

(「SELECT * FROM e_track_access_log WHERE member_id> 0 AND datetime_accessed = date('Ymd H:i:s')ORDER BY datetime_accessed DESC LIMIT 0,20」) 顯示任何結果 – 2013-04-30 06:12:10

+0

@MaggieAckermann,'date'是一個php函數,所以:'「SELECT * FROM lbs_ WHERE date ='」。date'('Ymd H:i:s')''' AND msisdn =' $'query'「' – k102 2013-04-30 06:13:50

+0

」SELECT * FROM e_track_access_log WHERE member_id> 0 AND datetime_accessed ='「。date('Ym-d')。''ORDER BY datetime_accessed DESC LIMIT 0,20」 也不能正常工作沒有結果顯示 – 2013-04-30 06:24:01

0

你可以去CURDATE()和日期DIFF你必須在MySQL使用BETWEEN

"SELECT * FROM lbs_ WHERE date between CURDATE() AND $datee AND msisdn='$query'" 
0

最好的辦法是現在使用的是()或CURDATE ()的MySQL本身的功能:

SELECT * FROM lbs_ WHERE date = now() AND msisdn='$query' 

SELECT * FROM lbs_ WHERE date = CURDATE() AND msisdn='$query' 
+0

我也試過這種方法仍然沒有結果在php – 2013-04-30 06:27:09

+0

你有沒有嘗試直接在數據庫上檢查你的SQL查詢?並嘗試echo'ing你的查詢y在你的PHP腳本中查看結果是否是可行的查詢。大多數情況下,您的結果查詢看起來像AND AND msisdn =' - 0235654',而您期望它爲0235654,或者甚至簡單地爲null(''),這也不會產生任何結果。 – Borniet 2013-04-30 06:32:14

+0

是否該列不是日期時間設置並設置爲Var? – 2013-04-30 06:37:42

0

我建議用mysql打造方法:

"SELECT * FROM lbs_ WHERE date = CURDATE() AND msisdn='$query'"