当数组存在时,无法从数组中检索值

时间:2018-01-14 11:16:56

标签: php mysql arrays

我正在创建一个下载站点,我正在尝试根据用户所在的公司设置对特定下载的访问权限。在设置公司权限时,我试图从数据库中检索信息,以确定它是否具有访问权限。我正在使用类中的方法来查找公司和软件相关性并将其放入数组中。然后我尝试访问该数组中的特定值,但我得到的只是这个警告'试图获得非对象的属性'。 我不确定我哪里出错了。

课程方法

public static function locateAccess($company, $software)
//find the access a company has to a particular software
{
    $sql = "SELECT * FROM software_access WHERE software_company_id = '$company'";
    $sql .= " AND software_software_id = '$software'";
    return self::findQuery($sql);
}

页面上的代码

$access = SoftwareAccess::locateAccess($companyId,$accessName);
$allowed = $access->software_access;

使用Var Dump输出

array(1) { 
    [0]=> object(SoftwareAccess)#34 (4) { 
        ["software_access_id"]=> string(2) "22" 
        ["software_company_id"]=> string(1) "3" 
        ["software_software_id"]=> string(1) "4" 
        ["software_access"]=> string(1) "1" 
    } 
} 
  

注意:尝试在第136行的C:\ xampp \ htdocs \ RMS \ public \ companyAdmin.php中获取非对象的属性

正如您所见,对象确实存在于数组中,并且我在网站的其他部分使用了类似的功能。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

你需要做的事情

$访问[0] - GT; software_access;