11

在过去的 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;
}
4

3 回答 3

17

尝试这样的事情:

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

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

所以:首先构建数组,然后将数组内爆成字符串。

于 2012-07-22T11:40:59.907 回答
3

有我的解决方案:

SELECT GROUP_CONCAT(UserID) as string  FROM Users;

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

于 2016-08-05T22:26:41.570 回答
0
$query = 'SELECT id FROM your_table';
$rs = mysql_query($query);

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

结果 1,2,3...

于 2017-05-11T12:17:11.737 回答