[英]Issue in While Loop sending email for many users
我試圖在單擊sendForm按鈕時向所有活動用戶發送電子郵件。
我在下面有此代碼,並且我有一個While循環,用於為我處於狀態(status = active)的每封電子郵件發送一封電子郵件。
但是,該電子郵件僅發送給我在表中的第一封電子郵件,而不是發送給我的每封郵件。
那里有人知道為什么會這樣嗎?
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;
}
}
問題是您的退貨; 語句在while循環中。
此特定循環中的return語句將導致循環終止。 在這種情況下,您將其放置為循環的最后一條語句,因此它將處理您的第一封電子郵件以發送出去,然后終止。
要解決此問題,請去除退貨; 完全聲明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.