gpt4 book ai didi

php - MySQL 查询 - 根据当前日期获取记录

转载 作者:行者123 更新时间:2023-11-29 04:01:44 24 4
gpt4 key购买 nike

我正在设置一个 Cron,我想对与当天匹配的记录执行各种功能

我的用户表:

Username      registration_date    expiration_date
behz4d 2012-01-19 21:55:44 2013-01-23 11:15:24
test 2012-05-24 17:42:13 2013-04-12 17:23:19
...

现在我想获取 expiration_dateTODAY 的用户我可以简单地查询表格,在数组中获取它们的 expiration_date,然后将该日期与今天的日期进行比较,例如:

$current_date = date("Y-m-d");
$query = mysql_query("SELECT username FROM users");
while($row = mysql_fetch_array($query)){
$users_array[] = $row['username'] . "->" . substr($row['expiration_date'], 0, 10);// since I don't care about the exact time, I need to get the users who their expiration DAY is today
}
foreach($users_array $username as $expiration_date){
if($expiration_date == $current_date)
$my_target_users[] = $username;
}

但这似乎有点奇怪,我的意思是应该有另一种方式......

无论如何我可以说 expiration_date = TODAY 吗?

有人可以帮我解决这个问题吗?提前致谢


更新:

如何获取到期日为距今天 3 天的用户?我想给他们发一封电子邮件,让他们知道他们的帐户将在 3 天后过期...我应该这样做吗:

... WHERE expiration_date >= CURRENT_DATE AND expiration_date < CURRENT_DATE + INTERVAL 3 DAYS

!?

最佳答案

SELECT username FROM users WHERE DATE(expiration_date) = CURRENT_DATE

但是,这需要一个(低效的)全表扫描。如果您有关于 expiration_date 的索引,您应该改用:

SELECT username
FROM users
WHERE expiration_date >= CURRENT_DATE
AND expiration_date < CURRENT_DATE + INTERVAL 1 DAY

关于php - MySQL 查询 - 根据当前日期获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14417792/

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