2016-07-30 149 views
-1

我想使用PHPmailer在一個while循環中向多個人發送電子郵件。但是,只要循環到達include '../email/PHPMailerAutoload.php';行,就會在while循環內停止。完整的代碼看起來像這樣PHPMailer破壞While循環

<?php 
    $result = $con->prepare('SELECT * from table WHERE Date = ?'); 
    $result->execute([$Date]); 
    while($row = $result->fetch(PDO::FETCH_BOTH)){ 
     $Email=$row['Email']; 
     include '../email/PHPMailerAutoload.php'; 
     email_function($Email); 
    } 
?> 

任何想法?

+1

將'include'移到循環之前。總是在開發和測試PHP代碼時,啓用錯誤顯示。在腳本的頂部,'error_reporting(E_ALL); ini_set('display_errors',1);'最有可能你會發現PHP抱怨你試圖重新聲明一個類或類似的東西。在循環中包含/需要文件幾乎是不必要的或不可取的。 –

+1

你正在包括自動加載EVERT TIME ROUND THE LOOP標題應該是_「我怎麼摧毀了這個while循環」_ – RiggsFolly

+0

謝謝大家,特別是Michael Berkowski :) – user5095266

回答

0

PHPMailerAutoload.php必須包含/調用一次!請嘗試以下操作:

include '../email/PHPMailerAutoload.php'; 
$result = $con->prepare('SELECT * from table WHERE Date = ?'); 
$result->execute([$Date]); 
while($row = $result->fetch(PDO::FETCH_BOTH)){ 
    $Email=$row['Email']; 
    email_function($Email); 
}