2012-12-31 203 views
1

我正在開發一個項目,我必須從數據庫中選擇哪些日期是昨天,今天和明天。 日期作爲時間戳存儲在數據庫中。mysql查詢選擇昨天,今天和明天

我有這個PHP代碼迄今

$hour = 12; 
$today = strtotime("$hour:00:00"); 
$yesterday = strtotime('-1 day', $today); 
$tomorrow = strtotime('+2 day', $today); 
$today = get_date($today,"timestamp"); 

$result = $DB->query("SELECT product_id FROM " . DB_PREFIX . "expiry WHERE expiry_date BETWEEN $yesterday AND $tomorrow"); 

它不工作。請幫忙。

+0

你的日期存儲在你的數據庫中的格式是什麼? 'strtotime'返回一個Unix時間戳。您可能需要使用'UNIX_TIMESTAMP(expiry_date)'。你是否收到任何錯誤訊息?你沒有真正給我們足夠的信息來回答你的問題。 – Travesty3

回答

1

試試這個

$tomorrow = strtotime('+1 day', $today); 

和TH SQL改變這種

BETWEEN '".$yesterday."' AND '".$tomorrow."' 

,並確保

`" . DB_PREFIX . "expiry` 

完全不是這樣

`" . DB_PREFIX . "_expiry` 
        ^---------------did have this or something else like - 
+0

非常感謝。它終於工作。哇我一直在尋找一個解決方案,這從12月25日以來:( – SamPaGa

+0

確定好:),祝你好運 –