时间和日期条件逻辑语句MySQL

时间:2018-05-12 05:31:04

标签: php mysql

我正在尝试创建一个逻辑,其中我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)。

出于某种原因,我即使在过期日期之后仍在检索我的数据。

1 个答案:

答案 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

此查询将确保仅在满足条件的一小时后才会删除数据。