我正在尝试从查询返回的数组中填充PHPMailer中的电子邮件地址。
$query = 'SELECT u.id, u.first_name, u.last_name, u.email FROM users u INNER JOIN locations l ON (u.location_id = l.id) WHERE district_id = 8 GROUP BY id ORDER BY first_name, last_name ASC';
$result = mysqli_query($connection, $query);
if (!result) {
die("Database query failed: " . mysqli_error($result));
}
$recipients = array();
while ($row = mysqli_fetch_assoc($result)) {
$results[] = $row;
}
这给了我一个结果,如:
Array (
[0] => Array ( [id] => 1 [first_name] => Jon [last_name] => Smith [email] => jon@domain.com )
[1] => Array ( [id] => 3 [first_name] => Dave [last_name] => Virk [email] => dave@domain.com )
[2] => Array ( [id] => 2 [first_name] => Chris [last_name] => West [email] => chris@domain.com )
)
但是对于使用这样的数组不熟悉我不知道如何为PHPMailer提取每个用户的名称和电子邮件。
我读了一个像这样的例子:
foreach($recipients as $email => $name) {
$mail->AddAddress($email, $name);
}
我如何适应这个?
答案 0 :(得分:0)
在你的情况下,它将是:
foreach($results as $row) {
$mail->AddAddress($row['email'], $row['first_name'].' '.$row['last_name']);
}
您需要在方括号[]