gpt4 book ai didi

php - mySQL/PHP 查询不受日期限制

转载 作者:行者123 更新时间:2023-11-29 04:16:14 26 4
gpt4 key购买 nike

我的 mySQL 表有一列 date_added 使用类型 TIMESTAMP。在表格中,当我使用可视化编辑器时,时间戳看起来像这样 2017-06-17 20:08:58

在我的 PHP 中,我试图只获取自一周前以来具有 date_added 的行。所以,我正在做这样的事情:

$weekago = strtotime("-1 week");
$sql = "SELECT * from myTable where date_added >= $weekago";

$weekago 返回一个纪元时间,如:1498748730

如果我像这样直接执行 mySQL 查询:

select * from myTable where date_added > 1498748730

无论哪种情况,我都会返回所有行(是的,有些行有一个多星期前的 date_added)。

是时间戳格式不匹配的问题吗?

最佳答案

尝试使用这个查询:

SELECT * FROM myTable WHERE date_added >= NOW() - INTERVAL 1 WEEK

您当前的尝试是将以秒为单位的纪元时间与日期列进行比较。这没有任何意义。正如@HuyTrịnh 正确建议的那样,您可以将 date_added 包装在 UNIX_TIMESTAMP 中以将其转换为自纪元以来的秒数。但是这种方法在纯 MySQL 中并不是很好:

SELECT *
FROM myTable
WHERE UNIX_TIMESTAMP(date_added) >= UNIX_TIMESTAMP() - 7*24*60*60

关于php - mySQL/PHP 查询不受日期限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44849674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com