如何为数组中的每一行创建新的php邮件实例


How to create new php mail instance for each row in array

php:

mysqli_connect("path","my_db","password")or die(); 
mysqli_select_db("my_db")or die();
$query="SELECT * FROM table WHERE type = '$var' OR type = '$othervar'";
$result=mysqli_query($query);
$num=mysqli_numrows($result);
mysqli_close();
$i=0;
while ($i < $num) {
$email=mysqli_result($result,$i,"email");
$i++;
if (!empty($email)) {
mail($email, $subject, $body, $headers);
}

我省略了脚本赋值给$subject等,因为我能够成功地发送电子邮件时,只有一个电子邮件地址从查询返回。

但是,当查询返回多个电子邮件地址时,我无法发送任何东西。

非常感谢你的帮助!

将"GROUP BY…"添加到我的查询末尾,最终为我工作。因为我完全是个业余爱好者,我不知道为什么:)

最终代码:

mysqli_connect("path","my_db","password")or die(); 
mysqli_select_db("my_db")or die();
$query="SELECT * FROM table WHERE type = '$var' OR type = '$othervar' GROUP BY email";
$result=mysqli_query($query);
$num=mysqli_numrows($result);
mysqli_close();
$i=0;
while ($i < $num) {
$email=mysqli_result($result,$i,"email");
$i++;
if (!empty($email)) {
mail($email, $subject, $body, $headers);
}