我有一个如下功能,但当我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);
答案 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'];
}