php - MYSQL 在循环内调用查询会停止循环

标签 php mysql

好吧,我想要的是遍历数据库并向数据库存储的时间和日期低于当前日期且发送值为 0 的每封电子邮件发送一封电子邮件。工作原理是它遍历电子邮件循环并发送但是我想要做的是将数据库中的发送值从 0 设置为 1,这样如果我将来运行该程序,它就不会再次向我已经发送电子邮件的人发送电子邮件。我尝试在 while 循环中将发送值更新为 1,但是当我执行文件时,它会在一封电子邮件后停止,因此它不会循环数据库

<?php
include_once("db.php");
$date = new DateTime();
//echo $date->format('Y-m-d H:i:s')

$query = "SELECT timedate, email, sent, msgid  FROM mailer";
$result = mysql_query($query);
echo "<table>";
while($row = mysql_fetch_array($result)){
       $tot = $row['timedate'];
       $ema = $row['email'];
       $sendflag = $row['sent'];
       $mess = $row['msgid'];

    if(strtotime($tot) > time()) {
    //echo "<tr><td>" .$row['timedate']."</td><td>";
    echo"database dates higher then now dates" . "<br>";
    echo "<tr><td>" .$row['email']."</td><td>" ."<br>";
   echo "<tr><td>" .$row['timedate']."</td><td>" ."<br>";
      echo "<tr><td>" .$row['sent']."</td><td>" ."<br>";
}
else {
    echo"database dates lower then now dates" . "<br>";
    echo "<tr><td>" .$row['email']."</td><td>". "<br>";
       echo "<tr><td>" .$row['timedate']."</td><td>" ."<br>";
          echo "<tr><td>" .$row['sent']."</td><td>" ."<br>";
$subject = "This is subject";
   $message = "This is simple text message.";
   $header = "From:abc@somedomain.com \r\n";
   $to = $row['email'];
   $retval = mail ($to,$subject,$message,$header);
   if( $retval == true )  
   {
      echo "Message sent successfully..." ."<br>";
   }
   else
   {
      echo "Message could not be sent..." ."<br>";
   }

    //$sql = "UPDATE mailer SET sent = 1 WHERE msgid = $mess";
    $query = "UPDATE mailer SET sent = 1 WHERE msgid = $mess";
    $result = mysql_query($query);





}








}
mysql_close();
?>

最佳答案

例如将末尾的$result重命名为$result2。您正在覆盖正在循环的变量。

关于php - MYSQL 在循环内调用查询会停止循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30062421/

相关文章:

php - PHP函数中的逻辑错误

javascript - Jquery 将最后的输出作为值

php - 大量文本 - mysql 还是平面文件?

php - 将多个复选框插入数据库列

php - 在两列中显示来自mysql的数据

php - Mysqli 多查询不更新所有字段

php - Laravel Eloquent : Passing the value of find() in a function

php - 使用私有(private)方法正确测试简单的类

php - Wordpress - 在 jQuery 中获取自定义字段值

MySQL 每组中的最后一条记录与同一日期的多条记录