2013-10-13 67 views
0

另一個愚蠢的問題來照亮你的一天。我有這個MySql查詢,是的,它沒有顯示任何結果。這裏有什麼問題?是AND還是ORDERBY?嗯...這個sql查詢甚至可以接受嗎?

SELECT * FROM statisticData WHERE SYear LIKE '$SYr' AND accessDate BETWEEN '$startDate' AND '$endDate' ORDER BY accessDate DESC 

哦,這是在查詢之前會發生什麼:

$SYr = $_POST['SYr']; 
    $startDate = date("m-d-Y", strtotime($_POST['Date1'])); 
    $endDate = date("m-d-Y", strtotime($_POST['Date2'])); 

the needed inputs

+0

什麼是'$ SYr','$ startDate'和'$ endDate'? –

+0

@Kolink,$ SYr是用戶從下拉列表中選擇的,另外兩個是用戶從日曆中選擇的內容。我將包括截圖。 –

+0

數據庫鄙視你。除此之外,對於這些變量也沒有關係 –

回答

2

日期在MySQL 必須Y-m-d格式。 m-d-Y是不可接受的,並且不會返回任何行。

xkcd

另外:

xkcd

讓您遠離輸入。它可以用於日期,因爲你已經處理它們,輸出是一個PHP生成的日期。但$SYr目前是不安全的。

+0

+1 SO應該提供*「XKCD漫畫n的副本」*關閉原因...... – deceze

+0

那麼,查詢沒有錯?我改變了這一切,甚至使用正確的日期格式在表格中添加了數據。 SYr的值只能是1,2,3,4或5.我在數據庫中有一個值爲4的SYr和2013-10-07的accessDate。每當我從下拉列表中選擇這些,我仍然不會。現在有什麼可能是錯誤的?謝謝。 –

+0

嘗試'var_dump'您的輸入變量。此外,僅僅是因爲你只創建了''