簡體   English   中英

PHP-在while循環中設置變量

[英]PHP - Set a Variable within while loop

我目前正在嘗試在while循環內設置一個等於數組不同值的變量。 我有我的select語句設置,以便它可以成功提取信息,並且可以通過回顯相關類來顯示。 但是,如果在第二遍嘗試將行設置為等於變量,它將無法運行並完成while循環。

$username = "xxx";
$password = "xxx";
$hostname = "xxx";
$database = "xx";
$dbhandle = mysqli_connect($hostname, $username, $password, $database) or die("Unable to connect to MySQL");
$conn = new mysqli($hostname, $username, $password, $database);

$date = "1996-03-12 12:03:00";

$selectcmd = "SELECT starttime, endtime, partner, worklist, serviceloss, servicereference, siteaddress, ticketref FROM work WHERE starttime='$date'";

if ($conn->connect_error) {
    die("Connection  Failed: " . $conn->connect_error);
}

$result = $conn->query($selectcmd);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {  
        $body = $row["starttime"].$row["endtime"];
        require "mail.php";
    }
} else {
    echo "No Mail To Send";
}

$conn->close();

mail.php是PHPMailer函數,可以正常發送電子郵件。

我知道問題在於我正在嘗試在while循環中設置一個變量。 但是,我不確定該如何克服。 我試圖在while循環結束時取消主體設置。

mail.php對於那些詢問:

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
require 'PHPMailer/src/Exception.php';

$mail = new PHPMailer();
try {                                
    $mail->isSMTP();
    $mail->Host = 'localhost';
    $mail->SMTPAuth = false;                              
    $mail->Username = 'user@example.com';
    $mail->Password = 'secret';                           
    $mail->Port = 25;

    $mail->setFrom('test@test.com', 'test');
    $mail->addAddress('joe@example.net');                    

    $date = "today";
    $mail->isHTML(true);
    $mail->Subject = 'Important Notification';
    $mail->Body    = $body;
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    die();
} catch (Exception $e) {
    die();
}

我的問題是@PatrickQ建議的。 die()函數導致腳本完全停止運行。 我從mail.php中刪除了它,然后將需要的“ mail.php”移到了while循環之外。 然后我添加了$ mail-> send(); 功能到while循環。

一切都如我所願:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM