从最后一小时获取行(准备好的语句)
Fetch rows from the last hour (prepared statement)
在我的 MySQLi 数据库中,我有一个 table,其中包含字段 "timestamp"。在这里,我在添加一行时存储 Unix 时间戳 (PHP time()
).
现在我想获取上一小时添加的所有行:
$stmt = $mysqli->prepare("SELECT id FROM table_name WHERE DATE(FROM_UNIXTIME('timestamp')) > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)");
但这似乎获取了所有行,而不是最后一小时的行。
我做错了什么?之前有人问过这个问题,但我尝试了这些解决方案,但似乎找不到适合我的具体案例的工作示例。
尝试一下,希望能成功。
$stmt = $mysqli->prepare("SELECT id FROM table_name WHERE FROM_UNIXTIME('timestamp') > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)");
或者
$stmt = $mysqli->prepare("SELECT id FROM table_name WHERE timestamp > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)");
在我的 MySQLi 数据库中,我有一个 table,其中包含字段 "timestamp"。在这里,我在添加一行时存储 Unix 时间戳 (PHP time()
).
现在我想获取上一小时添加的所有行:
$stmt = $mysqli->prepare("SELECT id FROM table_name WHERE DATE(FROM_UNIXTIME('timestamp')) > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)");
但这似乎获取了所有行,而不是最后一小时的行。
我做错了什么?之前有人问过这个问题,但我尝试了这些解决方案,但似乎找不到适合我的具体案例的工作示例。
尝试一下,希望能成功。
$stmt = $mysqli->prepare("SELECT id FROM table_name WHERE FROM_UNIXTIME('timestamp') > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)");
或者
$stmt = $mysqli->prepare("SELECT id FROM table_name WHERE timestamp > UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR)");