【发布时间】:2015-10-14 07:37:10
【问题描述】:
我是一名 DBA,目前担任我自己的开发人员。我正在为一个培训系统上的一些自动电子邮件编写一个 PHP 模板,该模板将定期吸引不活跃的学生。我认为,我在更新中的 WHERE 语句仅影响当前记录时遇到了问题。我可以通过删除 WHERE 语句来更新所有记录,但没有。
谁能看到我的错误?我的主要查询和邮件功能运行良好。
<?php
$link = mysqli_connect('localhost','xxx','xxx','xxx');
$result = mysqli_query($link, 'SELECT email1 FROM email_test WHERE last_login < (NOW() - INTERVAL 45 DAY) AND email_number=0');
if($result->num_rows >= 1){
$subject = "A test of the email CRON";
$message='It has been 45 days since your last login.';
while($row=$result->fetch_assoc()) {
$email="{$row['email1']}";
mysqli_query($link, 'UPDATE email_test SET email_number = 1, email_sent = NOW() WHERE email1=$email');
mail($email, $subject, $message); }
}
?>
【问题讨论】: