PHP未定义索引,但var_dump另有说明

时间:2012-02-21 02:02:07

标签: php arrays indexing

我有一个非常奇怪的问题,我有一个我正在构建的用户个人资料页面。我有一个PDO函数,使用所请求用户的用户名获取结果集。但是,当我有数组返回时,我尝试使用它的数据,我得到一个"未定义的索引"错误。但奇怪的是,当我对数组进行var_dump时,我可以看到其中的所有值!

$_GET['name'] = (isset($_GET['name']) ? $_GET['name'] : '');
$req = $_GET['name'];
$info = array();
$info = getInfo($req);
echo($info['userid']);
var_dump($info);

get info函数从PDO获取结果集。例如,如果我尝试使用$info['userid'],我会收到错误,但如果我是var dump我可以看到

["userid"]=> string(1) "1" [3]=> string(1) "1" 

更新 这是GetInfo函数。

function getInfo($req){
$db = new database(DB_USER,DB_PASS,DB_NAME);
$rs = $db->query('SELECT name, username, level, userid FROM users WHERE username = ?')
    ->bind(1, $req)
    ->resultset();
return $rs;
}

数据库发布时间有点长,如果有帮助我可以发布它。

1 个答案:

答案 0 :(得分:0)

没有getInfo()源,我最好的猜测是PDO查询返回一个对象而不是一个数组,所以请尝试使用echo $ info-> userid;

您可以找到有关获取模式here的更多信息。