php / mysql搜索日期并发送电子邮件,如果日期是今天

时间:2012-06-05 15:03:46

标签: php mysql

我在2012年7月6日以这种格式存储了日期。如果日期是今天的日期,我想循环浏览它们并向管理员发送电子邮件。 我尝试了这个,但我认为我需要首先配合日期格式。

SELECT email, name, phone_no FROM table WHERE TO_DAYS(date)=To_DAYS(NOW());
 If true then send email to admin.
 //eg. John's birthday is today. Pls call him on 00001332424;

由于

1 个答案:

答案 0 :(得分:1)

是的,您应该首先转换为本机mysql日期/时间格式。如果您永远不必操纵该日期,那么将日期存储为字符串就可以了。但是,只要你这样做,那么你就会陷入痛苦的世界 - 不能使用索引,每次运行查询都必须转换每个字符串等等......

将该字符串转换为本机日期字段后,只需

即可
SELECT .... WHERE datefield=CURDATE();

为了让您了解在以“原生”格式获取日期后可能的情况,这里是mysql日期/时间操作函数:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

有很多这些,但几乎所有只在本机日期字段上工作,而不是在任意字符串上(除了转换字符串< - > native)之外。