我是一名DBA,暂时担任我自己的开发人员。我正在为培训系统上的一些自动电子邮件编写一个PHP模板,该模板将定期向非活动学生发送信息。我认为,在更新中我的WHERE语句有问题,只会影响当前记录。我可以通过删除WHERE语句来更新所有记录,但没有任何记录。fetch_assoc()中的更新声明
任何人都可以看到我的错误?我的主要查询和我的邮件功能正常工作。
<?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); }
}
?>
谢谢!我看不到树林。 –
相关说明:我计划使用其中3条语句通知学生各种标准,并在CRON中给他们打电话。我可以将所有3''调用放在同一个文本文件中并调用一次,还是需要3个单独的文件并分别调用它们。他们都会查询相同的表格。 –
如果需要,您可以将所有3放在同一个文本文件中。如果你愿意,你也可以将它们分开;) –