【发布时间】:2015-08-20 22:53:01
【问题描述】:
我需要运行检查以确定是否在过去 24 小时内将行插入到数据库中。无论我做什么,它总是回来说我已经创建了一行。 (我是否将INTERVAL 1 DAY更改为INTERVAL 1 Month、INTERVAL 1 Year、INTERVAL 1 Second等)
谁能告诉我我做错了什么以及如何解决它?此外,您可以提供有关如何调试此功能的任何信息。
if ($stmt = $mysqli->prepare( "SELECT * FROM votes WHERE id = " . $id . " AND cdate >= now() - INTERVAL 1 DAY")) {
echo 'Row created within the last 24 hours';
} else {
echo 'Row not created within the last 24 hours';
}
数据库表包含cdate 列,并设置为DATETIME,默认为CURRENT_TIMESTAMP。这是2015-08-20 21:14:30 值之一的示例
【问题讨论】:
-
你也没有“准备”任何东西,所以只需使用
query而不是prepare