2013-03-14 72 views
0

之間查詢我有一個預約在下面我的MySQL表預訂bookingsMYSQL - 選擇DATE_ADD和DATE_SUB

start_date = 2013-03-04 
end_date = 2013-03-08 

我要檢查,如果某一天(在這種情況下,2013年3月4日)下降在預訂的開始日期和結束日期之間 - 但是我想添加一天到開始日期並從結束日期減去1天。

因此,而不是搜索2013-03-和2013-03-之間 我想2013-03- 和2013-03-

之間搜索下面的查詢會從結束日期減去1天,但將開始日期保留爲04.下面的搜索應該沒有結果,但它仍然使用04作爲開始日期並給出了該預訂的結果。據[04] [05] [06] [07]當它應該做的[05] [06] [07]

$fd_query_params = array( 
    ':day' => '2013-03-04 
); 

$query = " 
    SELECT 
     * 
    FROM 
     bookings as bb 
    WHERE 
     :day BETWEEN 
     DATE_ADD(bb.start_date, INTERVAL 1 DAY) 
     AND 
     DATE_SUB(bb.end_date, INTERVAL 1 DAY) 
"; 

回答

0

不是PHP專家之間基本搜索自己,而是應該有比我更注意到有隻是圍繞:日字符串的單引號。很高興看到輸出驗證start_date和end_date是否爲