Отправка электронных писем на адреса электронной почты, полученные из базы данных с использованием переполнения стека

У меня есть столбец (с именем user_email) в таблице с именем (событие) в моей базе данных, этот столбец имеет адреса электронной почты. Я хочу получить все эти адреса электронной почты и отправить одно письмо для всех них.
Я пытался использовать for for lolo, но он отправлял электронное письмо только на одно электронное письмо, возможно, я неправильно использовал для любого предложения,

Часть моего кода

$select="SELECT * FROM event WHERE event_title='$title'";
$query_select= mysql_query($select);
$row = mysql_fetch_array($result);

$email_to=$row["user_email"];

for($x=0;$x<count($row['user_email']);$x++){
@mail($email_to,$email_subject,$email_message,$header);}

-2

Решение

Вы сделали это более сложным, чем нужно. Просто просмотрите результаты и отправьте электронное письмо:

$select="SELECT * FROM event WHERE event_title='$title'";
$result = mysql_query($select);
while ($row = mysql_fetch_array($result)) {
mail($row['user_email'],$email_subject,$email_message,$header);
}

Вы действительно должны улучшить это, так как вы не проверяете почтовые ошибки (и даже скрываете, что PHP пытается вам рассказать).

Пожалуйста, не используйте mysql_* функции в новом коде. Они больше не поддерживаются и официально устарели. Увидеть красная коробка? Узнать о готовые заявления вместо этого и использовать PDO или же MySQLiЭта статья поможет вам решить, какой. Если вы выбираете PDO, вот хороший урок.

3

Другие решения

Тебе необходимо while петля. Таким образом, он перебирает все строки в вашем наборе результатов. Я должен был угадать имена ваших столбцов, так что вам, скорее всего, придется это исправить.

while($row = mysql_fetch_assoc($query_select)) {
@mail($row['email_to'],$row['email_subject'],$row['email_message'],$header);
}
0