У меня возникла проблема с созданием PHP-файла рассылки и его внедрением.MYSQL fetch_array, создающий бесконечный цикл;
<?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: [email protected]\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, скрипт постоянно посылает мне электронные письма. Мне нужно удалить таблицу из моей базы данных, чтобы остановить ее.
Как предотвратить этот цикл inifinite для отправки только одного сообщения каждому письму в дате?
Является ли ваш адрес электронной почты в в новостной таблице более одного раза? Кроме того, вы не должны использовать библиотеки 'mysql_ * ', поскольку они устарели, проверьте PDO или MySQLi. – doublesharp
Используется только один раз. Я ввел адрес blast_script.php 10 минут назад и удалил таблицу 9,5 минут назад, и я все еще продолжаю получать электронные письма! – Ancinek
Отличается ли ваш код идеальным, если вы не используете 'UPDATE'-запрос? –