PHP:创建一个用逗号分隔的列表

PHP:创建一个用逗号分隔的列表,php,Php,我正在尝试创建一个电子邮件列表,用coma和一份准备好的声明隔开 $prep_stmt = "SELECT m.email FROM roster_par_membre rm LEFT JOIN membre m ON m.id_membre = rm.id

我正在尝试创建一个电子邮件列表,用coma和一份准备好的声明隔开

                $prep_stmt = "SELECT m.email
                                FROM roster_par_membre rm
                                LEFT JOIN membre m 
                                        ON m.id_membre = rm.id_membre                           
                                WHERE id_roster = ? 
                                ";
                $stmt = $mysqli->prepare($prep_stmt);           
                if ($stmt) {
                    $stmt->bind_param('i', $roster_id);
                    $stmt->execute();
                    $stmt->store_result();
                    // get variables from result.
                    $stmt->bind_result($emails_roster);
                    $list = array(); (added)
                    while ($stmt->fetch()){
                        $list[] = $emails_roster;
                    }   
                    $list = implode(',', $list);
输出应该是没有分隔的电子邮件列表。 我怎样才能获得一个带有coma的列表,我可以直接使用它向该列表发送电子邮件?
目前我收到一个致命错误:致命错误:[]字符串不支持运算符(对于while内的行!

不确定我是否正确理解它,但如果您的
$emails\u花名册
包含电子邮件,则只需将其附加到数组中:

$emails = [];
while ($stmt->fetch()){
 $emails[] = $emails_roster;
}   

print_r($emails); 
echo implode(',', $emails);

不确定我是否理解正确,但如果您的
$emails\u花名册
包含电子邮件,则只需附加到数组:

$emails = [];
while ($stmt->fetch()){
 $emails[] = $emails_roster;
}   

print_r($emails); 
echo implode(',', $emails);

不确定我是否理解正确,但如果您的
$emails\u花名册
包含电子邮件,则只需附加到数组:

$emails = [];
while ($stmt->fetch()){
 $emails[] = $emails_roster;
}   

print_r($emails); 
echo implode(',', $emails);

不确定我是否理解正确,但如果您的
$emails\u花名册
包含电子邮件,则只需附加到数组:

$emails = [];
while ($stmt->fetch()){
 $emails[] = $emails_roster;
}   

print_r($emails); 
echo implode(',', $emails);

尝试
内爆

while ($stmt->fetch()){
   $emails[] = $emails_roster;
}
$emails = implode(',', $emails);

尝试
内爆

while ($stmt->fetch()){
   $emails[] = $emails_roster;
}
$emails = implode(',', $emails);

尝试
内爆

while ($stmt->fetch()){
   $emails[] = $emails_roster;
}
$emails = implode(',', $emails);

尝试
内爆

while ($stmt->fetch()){
   $emails[] = $emails_roster;
}
$emails = implode(',', $emails);



我只需将电子邮件存储在一个数组中,然后在循环后
内爆(',',$emailArray)
使用,而不是在循环中打印值,将其添加到一个数组中。然后
内爆()
该数组。@RocketHazmat感谢您的回答。这就是我试图做的事情,但没有成功为什么不
选择group_concat(',','m.email)
?更少的膨胀,所有的代码一次出现并满足您的要求。我只需将电子邮件存储在一个数组中,然后在循环后
内爆(',',$emailArray)
使用,而不是在循环中打印值,将其添加到一个数组中。然后
内爆()
那个数组。@RocketHazmat谢谢你的回答。这就是我试图做的,但没有成功。为什么不
选择group_concat(',',,m.email)
?少一些膨胀,所有的代码一次出现,满足你的要求。我只需将电子邮件存储在一个数组中,然后
内爆(',,$emailArray)
在循环之后。使用而不是打印循环中的值,将其添加到数组中。然后
内爆()
该数组。@RocketHazmat感谢您的回答。这就是我试图做的,但没有成功。为什么不
选择group_concat(“,”,m.email)
?更少的膨胀,所有的代码一次出现并满足您的要求。我只需将电子邮件存储在一个数组中,然后在循环后
内爆(',',$emailArray)
使用,而不是在循环中打印值,将其添加到一个数组中。然后
内爆()
那个数组。@RocketHazmat谢谢你的回答。这就是我一直试图做的,但没有成功。为什么不
选择group_concat(',',m.email)
?少一些膨胀,所有的代码一次就来了,满足你的要求。谢谢你的回答。我应该做错了什么,但是当我复制你的代码时,我得到了:致命错误:[]Strings不支持运算符您以前为
$emails
指定了字符串值。请尝试使用
$list
或其他您尚未定义的内容。不知道,您还做了其他错误:您没有做
回显$emails[];
是吗?非常感谢您帮我完成了代码:$prep\u stmt=“从花名册中选择m.email\u-par\u-membre-rm LEFT在m.id\u-membre=rm.id\u-membre其中id\u-花名册=?”;$stmt=$mysqli->prepare($prep\u-stmt);if($stmt){$stmt->bind\u-param($i',$花名册\u-id);$stmt execute();$stmt->store\u-result();//从结果中获取变量。$stmt->bind_result($emails_花名册);while($stmt->fetch()){$list[]=$emails_花名册;}$list=内爆(',',$list);确定找到了解决方案;我需要在while循环$list=Array()之前声明数组;谢谢各位@AbraCadaverThanks的回答。我应该做些错事,但当我复制你的代码时,我得到了:致命错误:[]Strings不支持运算符您以前为
$emails
分配了字符串值。请尝试使用
$list
或其他您尚未定义的内容。不知道,您还做了其他错误:您没有做
回显$emails[];
是吗?非常感谢您帮我完成了代码:$prep\u stmt=”选择m.email FROM花名册(par)membre rm LEFT JOIN membre m ON m.id(membre m ON m.id)membre m=rm.id(其中id)花名册=?“;$stmt=$mysqli->prepare($prep\u stmt);if($stmt){$stmt->$stmt->bind(param('i',$花名册)id);$stmt->execute;//从结果中获取变量。$stmt->bind_result($emails_花名册);while($stmt->fetch()){$list[]=$emails_花名册;}$list=内爆(',',$list);确定找到了解决方案;我需要在while循环$list=Array()之前声明数组;谢谢各位@AbraCadaverThanks的回答。我应该做些错事,但当我复制你的代码时,我得到了:致命错误:[]Strings不支持运算符您以前为
$emails
分配了字符串值。请尝试使用
$list
或其他您尚未定义的内容。不知道,您还做了其他错误:您没有做
回显$emails[];
是吗?非常感谢您帮我完成了代码:$prep\u stmt=”选择m.email FROM花名册(par)membre rm LEFT JOIN membre m ON m.id(membre m ON m.id)membre m=rm.id(其中id)花名册=?“;$stmt=$mysqli->prepare($prep\u stmt);if($stmt){$stmt->$stmt->bind(param('i',$花名册)id);$stmt->execute;//从结果获取变量。$stmt->bind_result($emails_花名册);while($stmt->fetch()){$list[]=$emails_花名册;}$list=内爆(',',$list);确定找到了解决方案;我需要在while循环$list=Array()之前声明数组;谢谢大家@Abra