web-dev-qa-db-ja.com

配列をmysqlクエリからコンマ区切りの文字列に内破します

過去1日半の間、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;
}
11
dll_onFire

次のようなものを試してください。

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

"UserID"をテーブル内のIDの列名に置き換えます。

つまり、最初に配列を作成し、次に配列を文字列に内破します。

14
huysentruitw

私の解決策があります:

SELECT GROUP_CONCAT(UserID) as string  FROM Users;

この関数の場合、区切り文字はデフォルトで「、」です。

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

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

結果1,2,3.。

0
Darwin