2010-07-31 67 views
0

我寫了一個簡單的mysql搜索表單,用於在兩個日期之間搜索。 這個查詢工作完美:mysql中的「LIKE」

$sql = "SELECT * FROM table WHERE dateStarted like '%$checkin%' 
AND dateEnded like '%$checkout%'"; 

但隨着

$sql2 = "SELECT * FROM table WHERE dateStarted = $checkin 
AND dateEnded = $checkout"; 

沒有任何結果?兩個sql有什麼區別?

編輯:

$checkin and $checkout are date (16-07-2010) 

在此先感謝

+0

1)你使用dateStarted的數據類型是什麼? 2)$ checkin和$ checkout變量的內容是什麼? – 2010-07-31 17:42:48

+0

$ checkin和$ checkout是日期(16-07-2010) – TheNone 2010-07-31 17:44:46

+1

您應該以正確的格式寫入日期:YYYY-MM-DD。 – 2010-07-31 17:54:17

回答

4

$簽入和籤$日期是 (16-07-2010)

嘗試把引號中查詢:

$sql2 = "SELECT * FROM table WHERE dateStarted = '$checkin' 
     AND dateEnded = '$checkout'"; 
+0

是的報價,日期不是數字! 謝謝 – TheNone 2010-07-31 17:48:07

+0

@phpExe:不客氣... – Sarfraz 2010-07-31 17:49:24

2

一個變量$簽入的值相匹配,其他匹配包含變量$簽入的任何有價值的東西

因此,如果$ checkin是foo,那麼第一個將匹配「foo」或「something foomsthing」,而第二個匹配只有「foo」。

-2

「喜歡」 是文本和「= 「對於數字等等

+1

並非如此。在做出這樣的評論之前學習MySQL。 – 2010-07-31 20:05:29

+0

我剛剛重複了我的老師的話...它不僅關於mysql,關於洞認爲像DB一樣。是的,你可以搜索「喜歡」的號碼,但目前尚不清楚...... – 2010-08-01 09:39:39