2016-07-30 28 views
-1

Ich möchte E-Mails an mehrere Personen in einer While-Schleife mit PHPmailer senden. Aber sobald die Schleife in die Zeile include '../email/PHPMailerAutoload.php'; kommt, stoppt sie innerhalb der while-Schleife. Der vollständige Code sieht so aus:PHPMailer zerstört die While-Schleife

<?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); 
    } 
?> 

Irgendwelche Ideen?

+1

Verschieben Sie das 'include', um vor der Schleife auftreten. Wenn Sie PHP-Code entwickeln und testen, aktivieren Sie immer die Fehleranzeige. Am oberen Rand des Skripts 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'Am wahrscheinlichsten wirst du PHP finden, das sich beschwert, dass du versuchst, eine Klasse oder ähnliches neu zu deklarieren. Es ist fast nie notwendig oder ratsam, eine Datei innerhalb einer Schleife einzuschließen/zu benötigen. –

+1

Sie schließen das automatische Laden ein EVERT TIME ROUND DER SCHLEIFE Titel sollte sein _ "Wie habe ich diese while Schleife zerstört" _ – RiggsFolly

+0

Danke euch allen, besonders an Michael Berkowski :) – user5095266

Antwort

0

Die PHPMailerAutoload.php muss einmal enthalten sein! Bitte versuchen Sie Folgendes:

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); 
}