我有一個MySQL數據庫與日期列表。我想將所有這些日期(如果發生在今天之後)輸出到頁面中。日期以DATE格式存儲在數據庫中,如Y-m-d
。爲什麼這個PHP日期比較不符合我的預期?
我有下面的代碼(不包括查詢等):
$dateToday = date('Y-m-d');
do{
$dateCompare = new DateTime($row['date']);
if ($dateCompare > $dateToday){
echo '<p>'.$dateCompare -> format('Y-m-d').'</p>';
} else {
echo '<p>FALSE</p>';
}
}while ($row = $stmt->fetch(PDO::FETCH_ASSOC));
但這只是輸出所有的日期,包括一個我在過去設置用於測試目的。我究竟做錯了什麼?
你做錯了,最明顯的是在應用層過濾從你的DBMS的數據集。這應該在DBMS層完成。接下來的事情是做錯了數據的格式和類型的假設 - 告訴我們什麼值被比較。 – symcbean
我不知道前兩句是什麼意思...... – ElendilTheTall