用于选择用户ID并使用mysqli输出所选数据的功能

时间:2017-08-04 06:09:19

标签: php mysqli

我有一个如下功能,但当我echo $user_data['first_name'];弹出

  

未定义的索引:first_name。

任何人都可以帮帮忙吗?

$user_data = user_data($con, $user_id, $fields);

echo $user_data['first_name'];
// pop out error Undefined index: first_name.



function user_data($con, $user_id, $fields) {

    $data = array();
    $fields = implode(', ', $fields);
    $result = mysqli_query($con, "SELECT $fields FROM users WHERE user_id= $user_id");
    while ($row = mysqli_fetch_assoc($result)) {
        $data[] = $row;
    } 

    return $data;

} 

$con = new mysqli('localhost', 'username', 'password', 'database_name');

$fields = array('first_name', 'last_name','color');

$user_id = 1;

$data = user_data($con, $user_id, $fields); 

3 个答案:

答案 0 :(得分:0)

因为您将获得数组中的数据。所以你需要从其他人遍历。更改您的代码,如:

$user_data = user_data($con, $user_id, $fields);
foreach($user_data as $user){
  echo $user['first_name'];  
}

答案 1 :(得分:0)

试试这个:

echo $user_data[0]['first_name'];

答案 2 :(得分:0)

在给定脚本的最后一行创建连接,之后只能访问数据库,因此在使用像Foreach等数组遍历循环之后回显结果。 在脚本的末尾添加此行:

foreach($user_data as $user){
  echo $user['first_name'];  
}