在MySQL datetime附近自动发送邮件

时间:2014-06-21 17:04:46

标签: mysql sql email datetime

在我的MySQL数据库中,我有一个包含datetime列的表。我希望当前时间是其中一个日期时间值之前的30分钟时发送电子邮件。 例如。日期时间值是' 20140623180000'服务器应在2014年6月23日17:30发送邮件。日期时间列中的值不是常规的。任何人都知道如何以一种简单的方式做到这一点? (Linux在服务器上运行)

1 个答案:

答案 0 :(得分:0)

所以你需要一个cron来运行每一分钟来查找datetime< CURRENTTIME

然后循环搜索结果并发送必要的电子邮件。

#!/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);
}
?>

未经测试