【发布时间】:2014-08-12 04:37:17
【问题描述】:
在我的 MySQL 数据库中,我有一个包含日期时间列的表。我想在当前时间比日期时间值之一早 30 分钟时发送电子邮件。 例如。 datetime 值为 '20140623180000' 服务器应在 2014 年 6 月 23 日 17:30 发送邮件。 datetime 列中的值不规则。任何人都知道如何以简单的方式做到这一点? (Linux 运行在服务器上)
【问题讨论】:
在我的 MySQL 数据库中,我有一个包含日期时间列的表。我想在当前时间比日期时间值之一早 30 分钟时发送电子邮件。 例如。 datetime 值为 '20140623180000' 服务器应在 2014 年 6 月 23 日 17:30 发送邮件。 datetime 列中的值不规则。任何人都知道如何以简单的方式做到这一点? (Linux 运行在服务器上)
【问题讨论】:
因此,您需要每分钟运行一个 cron 来查找日期时间 的记录
然后遍历结果并发送必要的电子邮件。
即
#!/usr/bin/php
<?php
$db = new PDO($dsn);
$stmt = $db->query("SELECT * FROM table WHERE datetime > ?");
$stmt->execute(array(date("Y-m-d H:i:s", strtotime("-30 minutes")));
$r = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($r as $res){
mail($to, $subject, $message, $headers);
}
?>
【讨论】: