gpt4 book ai didi

PHP - 如何将查询结果放入数组中?

转载 作者:行者123 更新时间:2023-12-03 19:16:00 25 4
gpt4 key购买 nike

我想弄清楚如何将 mysql 查询结果放入一个可以在 while 循环外访问的数组。这可能吗?

我正在玩的测试代码如下。我想将电子邮件发送到数组中的电子邮件地址,而无需在 while 循环内创建电子邮件代码。这样我就可以将数组结果注入(inject)密件抄送字段,然后使用 mail() 函数立即将其全部发送出去,而不是为每封电子邮件打开一个新的 smtp 连接——我认为是这样。

<?php  
if(isset($_POST['btnSendToSelected']) && isset($_POST['checked']))
{
$checked = array_map('intval',$_POST['checked']);
$email_list = implode(", ", $checked);

$get_emails = mysqli_query($conn, "SELECT UserName, Email FROM users WHERE UserId IN ($email_list)")
or die($dataaccess_error);

while($row = mysqli_fetch_array($get_emails))
{
$emails = array($row['Email']);
$emails_array = implode(", ", $emails);
}
// send the email here outside the while loop...
}
elseif(isset($_POST['btnSendToSelected']) && !isset($_POST['checked']))
{
$msg = $msg_error;
}
?>

最佳答案

$emails_array = implode(", ", $emails);

你可以展开这一行到任何你想得到你的数组的地方。

//编辑

看起来整个 while 循环可以处理得更好一些。我建议

$emails = array();
while($row = mysqli_fetch_array($get_emails))
{
$emails[] = $row['Email']."|||".$row['Username'];
}

然后您一次性获得了 $emails 数组中的所有信息。

||| 只是我选择的随机分隔符,您可以使用逗号或其他内容。或者,您可以将该条目设为二维数组,例如

$emails[][0] = $row['Email'];
$emails[][1] = $row['Username'];

...虽然该特定代码可能行不通,但这个想法行得通。然后,像这样访问它:

echo "Username 99 is ".$emails[99][1];

关于PHP - 如何将查询结果放入数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161721/

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