我正在尝试创建一个逻辑,其中我SELECT
从我的数据库中只有尚未过期的行。因此,任何大于NOW()
的内容现在都会出现。
以下是代码的修改版本:
include_once('Database.php');
try {
$stmt = $conn->prepare("SELECT col1, col2, col3,
format_time FROM table WHERE format_time > NOW()");
$stmt->execute();
} catch (PDOException $e) {
echo $e->getMessage();
我的format_time
数据以TIMESTAMP
格式保存为2018-05-13 23:30:00
(YYYY-MM-DD HH:MM:SS)。
出于某种原因,我即使在过期日期之后仍在检索我的数据。
答案 0 :(得分:0)
这就是我所做的。我进入了phpMyAdmin并删除了event_table
。然后我再次重新创建数据,并提供相同的确切信息。然后查询再次开始正常运行,并满足条件。现在这可能是一个小错误,我不太确定如何再次复制这个错误。然而,一切都按照我的预期运作。
对于那些将来要查看该帖子的人,您可能不希望立即使您的数据消失,因此我添加了其他操作:
SELECT col1, col2, col3, format_time FROM event_table WHERE format_time > DATE_SUB(NOW(), INTERVAL 1 HOUR) ORDER BY format_time ASC
此查询将确保仅在满足条件的一小时后才会删除数据。