gpt4 book ai didi

php - MySQL 从恰好 7 天前选择行

转载 作者:IT老高 更新时间:2023-10-28 23:50:26 28 4
gpt4 key购买 nike

我完全被这个难住了,尝试了几个小时但没有成功,希望有人能提供帮助。尝试构建一个每天运行的 cron 脚本,它返回比当前日期正好早 7 天的行。

问题是,我的查询没有返回任何内容。没有错误消息,什么都没有(我知道过去 7 天数据库中有条目 - 我们每天大约有 7000 个新条目,所以它们就在那里!)我尝试了 SELECT * 并成功回显编辑日期,所以一切正常,除了我的 SQL 脚本。

我引用的列 (edit_date) 是“日期时间”类型,格式为 Y-m-d h-m-s。此列始终具有在创建和编辑时分配的日期时间值。

function get_ad_sql($table){
$sql = "SELECT
*
FROM
".$table."
WHERE
edit_date = DATE_SUB(NOW(), INTERVAL 7 DAY)
";
return $sql;
}

并调用函数并“尝试”回显主键:

$sqlAng = get_ad_sql('angebote');
$result = mysql_query($sqlAng);
while($row = mysql_fetch_array($result)){
echo $row['primary_key'];
}

我已经尝试了 DATE_SUB(NOW(), INTERVAL 7 DAY) 的所有变体,包括 CURDATE(), DATE_FORMAT(edit_date, '%m/%d/%Y'),我可以在这里和在线找到,但无法得到任何工作。希望有人可以帮助我!

最佳答案

很少有相同的日期时间条目将日期和时间提供到秒。因此,为了获得合适的结果,我们需要忽略时间部分,并处理日期部分,因此,使用 CURDATE() 函数。

您可以忽略时间部分并使用以下方法与日期进行比较:

function get_ad_sql($table){
$sql = "SELECT
*
FROM
".$table."
WHERE
DATE(edit_date) = DATE_SUB(CURDATE(), INTERVAL 7 DAY)
";
return $sql;
}

关于php - MySQL 从恰好 7 天前选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7756708/

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