未定义的偏移量:数据库查询结果为0

时间:2013-12-24 17:38:15

标签: php permissions

我正在尝试为用户设置权限,当我将其放入我的数据库配置代码

public function hasPermission($key) {
    $group = $this->_db->get('groups', array('id', '=', $this->data()->group));
    print_r($group->first());
}

使用我的主页中的此代码组合

if($user->hasPermission('admin')) {
    echo '<p>You are an administrator!</p>';
}   

我遇到的问题出现并说:

Undefined offset: 0 in C:\xampp\htdocs\Sites\ooplr\classes\DB.php on line 120

然后我去了它遇到问题的代码是

public function first() {
    return $this->results()[0];
}

请帮助!

1 个答案:

答案 0 :(得分:0)

这意味着您没有任何结果,因此结果0不存在。

我猜$group = $this->_db->get('groups', array('id', '=', $this->data()->group));正在设置$this->results()返回的结果属性。因此,对数据库的查询必须失败,因此不会填充$this->results()作为数组返回的任何内容。您可以使用空数组或根本不是数组的数据,而不是包含数据的数组,因此没有属性0,这将是数组中的第1项。