While Loop为许多用户发送电子邮件的问题

时间:2014-04-15 00:05:22

标签: php sql

我试图点击我的sendForm按钮时,我想为所有活跃用户发送电子邮件。

我在下面有这个代码,并且我有一个While循环来为我的每个电子邮件发送一封电子邮件(状态=有效)。

但是,该电子邮件只是发送我在表格中的第一封电子邮件,而不是我发送的每封邮件。

有人知道为什么会这样吗?

if(isset($_POST['sendForm']))
{
    $verifyUser= $pdo->prepare("SELECT * FROM users WHERE status = ?");  
    $verifyUser->bindValue(1, 'active');
    $verifyUser->execute();
    $verifyUserRows= $verifyUser->rowCount();

    if($verifyUserRows<= '0')
    {
    echo 'there are no active warnings'; 
    }

  else
  {
    while ($verifyUserResult= $verifyUser->fetch(PDO::FETCH_ASSOC)) 
    {
    $date = date('d/m/Y H:i');
    $msg = " 

    Hi, this is my message!

    Send at $data
    ";

    sendMail('My subject',$msg,MAILUSER,$verifyUserResult['email']);
    echo 'Email sent with sucess'; 
    return;
    }
}

1 个答案:

答案 0 :(得分:1)

问题是你的回归;语句在你的while循环中。

此特定循环中的return语句将导致循环终止。在这种情况下,您已将其作为循环的最后一个语句放置,因此它将处理您发送的第一封电子邮件,然后终止。

要解决问题,请删除退货;声明完全。