2015-05-06 58 views
-2

我有一個簡單的VBA函數,顯示當前日期以及任何回到21天之前的記錄。將VB日期()和DateAdd函數轉換爲PHP

WHERE date_added between Date() and DateAdd('d', -21, Date()) 

如何使用PHP和MySQL獲得相同的效果?

當我運行上面的代碼我得到這個錯誤:

「你在你的SQL語法錯誤;檢查對應於您的MySQL服務器版本正確的語法使用近「),並使用DateAdd手冊( 'd',-21,日期())」第1" 行

+0

只是使用相同的mysql查詢! – Alex

+0

@Alex:他可能會問'DateAdd'部分;該代碼是SQL和VB的奇怪組合,沒有區別,可能是因爲它實際上是Access VBA,而不是VB.NET或VBScript。 –

+0

@NathanTuggy也許。但是我們有'DATEDIFF'和mysql。但他並沒有詢問有關mysql轉換的問題,他詢問了有關vb <->的問題;-) :-) – Alex

回答

2

在MySQL的話,你想

WHERE date_added BETWEEN CURDATE() - INTERVAL 21 DAY 
        AND CURDATE() 

注意,這正常工作只有DATE_ADDED是DATE數據類型。如果它有你想要的時間組件

WHERE date_added >= CURDATE() - INTERVAL 21 DAY 
    AND date_added < CURDATE() + INTERVAL 1 DAY