gpt4 book ai didi

php - MYSQL fetch_array 创建无限循环;

转载 作者:行者123 更新时间:2023-11-30 22:33:04 24 4
gpt4 key购买 nike

我在创建和实现时事通讯 PHP 文件时遇到了问题。

<?php
include_once "connect_to_mysql.php";
$sql = mysql_query("SELECT * FROM news WHERE received='0' LIMIT 20");
$mail_body = "";
while($row = mysql_fetch_array($sql)){
$id = $row["ID"];
$name = $row["name"];
$email = $row["email"];

$mail_body= "Test message";
$subject = "PHP Newsletter";
$headers = "From: no-reply@pageaddress.com\r\n";
$headers = "Content-type: text/html\r\n"; //To musi byc zawarte jeśli nasz email będzie w formie HTML
$to = "$email";

$mail_result = mail($to, $subject, $mail_body, $headers) or die ("Error!");

if ($mail_result) {
mysql_query("UPDATE news SET received='1' WHERE email='$email' LIMIT 1");
} else {
echo ("Some freaking error :o!");
}

}
?>

我确实与我的数据库有联系。我确实将一封电子邮件 - 我的电子邮件放入了这个数据库。我在我的表中将默认接收设置为 0。因此,当循环开始时,它应该从我的数据库中获取数组 --> 发送电子邮件 --> 将接收到的设置为“1”并停止 --> 从表中获取另一封电子邮件并执行相同的操作。

但问题是,当我输入这个地址时 http://.../blast_script.php该脚本一直不断地向我发送电子邮件。我必须从我的数据库中删除该表才能停止它。

如何防止这种无限循环只向数据库中的每封电子邮件发送一条消息?

最佳答案

按照上述查询的编写方式,您将恰好收到 20 封电子邮件,因为您将第一个选择限制为 20 个结果。

我认为您没有理由陷入无限循环。你做了什么来逐一调试每条语句?

关于php - MYSQL fetch_array 创建无限循环;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33321250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com