从简单函数返回数组是空的

时间:2013-05-12 19:51:27

标签: php

我有以下功能:

function getUser($user_id){

    $mysqli = dbConnect();

    $gu = "select * from users where user_id = '$user_id'";
    $ru = $mysqli->query($gu);

    $user = $ru->fetch_array();

    return $user;
}  

例如:

$user_id =  $_SESSION[user_id];

getUser($user_id);

然后我想简单地回复我想要的字段,例如名称。但是,当我尝试以下操作时,它会返回空

echo "users name is $user['name']"; // returns: users name is

有更好的方法吗?

更新还尝试了以下操作但仍为空:

function getUser($user_id){

    $mysqli = dbConnect();

    $gu = "select * from users where user_id = '$user_id'";
    $ru = $mysqli->query($gu);

    $user = array();
    while($row = $ru->fetch_array()) {
        $user[] = $row;
    }

    return $user;
}

2 个答案:

答案 0 :(得分:2)

你的行:

getUser($user_id);

应该是:

$user=getUser($user_id);

这样你就可以将$ user设置为getUser返回的数组,然后你可以使用它。

答案 1 :(得分:0)

打印数组时删除单引号,echo可能需要如下:

echo "users name is $user[name]";