将所选数据显示为数组值而不是字符串

时间:2014-04-04 09:05:14

标签: php sql arrays string

我正在尝试将数据库中的数据放入另一个数组中的单独数组中。这有效,但是当我尝试获取'user_id'信息时,它只显示一个数字,因此它就像一个字符串。我怎样才能让它像数组一样工作并获得整个user_id?

$fetch = mysqli_query($con, "SELECT * FROM spotify_userdata");

$return_arr = [];

while ($row = mysqli_fetch_array($fetch, MYSQL_ASSOC)) {
    $return_arr[] = array(
        $row_array['user_id'] = $row['user_id'],
        $row_array['name'] = $row['name'],
        $row_array['artists'] = $row['artists'],
    );
}

$user = json_encode($return_arr[0]);

echo $user[2];

此代码返回1,因此它显示user_id的第三个数字。如何让它显示整个user_id,如下所示:111434343

2 个答案:

答案 0 :(得分:1)

你的代码中有很多东西是错误的:

  1. 删除最后一个数组项的逗号
  2. 更改
  3.   

    $ return_arr = [];

      

    $ return_arr = array();

    3.添加:

    $row_array = array() 
    

    在所有代码的开头

    最后你的代码必须是这样的:

    $fetch = mysqli_query($con, "SELECT * FROM spotify_userdata");
    
    $row_array = array();
    
    while ($row = mysqli_fetch_array($fetch, MYSQL_ASSOC)) {
        $return_arr = array(
            $row_array['user_id'] = $row['user_id'],
            $row_array['name'] = $row['name'],
            $row_array['artists'] = $row['artists'],
        );
    }
    
    $user = json_encode($return_arr[0]);
    

答案 1 :(得分:0)

根据您的代码,您应该使用:

echo $user['user_id'];

但真正的问题是 - $ row_array 在哪里初始化?!?

甚至更大的问题 - 为什么在数组创建中使用“=”同时...在我看来“=>”会不会更好,你不觉得吗?