从查询结果集中内爆单列值

问题描述 投票:0回答:1

我正在尝试将数组放入查询中,但不起作用。我将它与 implode() 绑定在一起,但随后它给了我“第 26 行...中的数组到字符串转换”。为什么?使用 json_encode 就解决了...

$sql = mysql_query("SELECT follows
            FROM follow 
             WHERE follower LIKE '".$id."'") or die (mysql_error());

if (mysql_num_rows($sql) < 1) {
    echo "<br/>";
    echo "Follow someone";
} else {
    //Put all the id's of the users the user is following in an array. 
    $i = 0;
    $user_follows = array();
    while ( $row = mysql_fetch_assoc($sql) ) {
        $user_follows[$i] = $row;
        $i++;
    }

    $user_follows = implode(" , ", $user_follows);
    echo $user_follows;
}
php mysql arrays implode
1个回答
2
投票

implode
的第二个参数必须是字符串数组。但你正在做:

$user_follows[$i] = $row;

由于

$row
是一个数组,因此您正在创建一个数组的数组(二维数组),而不是一个字符串数组。应该是:

$user_follows[] = $row['follows'];

您不需要

$i
变量,分配给
$array[]
会将新元素附加到数组中。

© www.soinside.com 2019 - 2024. All rights reserved.