繁体   English   中英

将数组内存到mysql查询中的逗号分隔字符串中

[英]implode an array into a comma separated string from mysql query

在过去的1 1/2天里,我一直试图将16行id存储到一个字符串中,并用逗号分隔每个id。 我得到的数组来自MySQL。 我得到的错误是

implode()函数:传递无效参数

$str=array();
$string="";
while($row = mysql_fetch_row($result)) 
{
    $user_id=$row;
    $str=$user_id;
    foreach($str as $p=>$v){
        comma($v);
    }
}

function comma($v){
    $string= implode(",",$v); echo $string;
}

尝试这样的事情:

$ids = array(); 
while ($row = mysql_fetch_assoc($result))  
{
    $ids[] = $row["UserID"]; 
} 
echo implode(", ", $ids);

"UserID"替换为表中id的列名。

所以:首先构建数组,接下来将数组内部转换为字符串。

有我的解决方案:

SELECT GROUP_CONCAT(UserID) as string  FROM Users;

对于此函数,默认情况下分隔符为“,”。

$query = 'SELECT id FROM your_table';
$rs = mysql_query($query);

$row = mysql_fetch_array($result);
return implode(',', $row);

结果1,2,3 ......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM