首页 > 后端开发 > php教程 > 如何修复 PHP 中的'尝试获取非对象的属性”错误?

如何修复 PHP 中的'尝试获取非对象的属性”错误?

DDD
发布: 2024-11-08 15:44:02
原创
940 人浏览过

How to Fix the

解决 PHP 中的“尝试获取非对象的属性”错误

在使用 PHP 时,您可能会遇到错误“尝试获取非对象的属性”获得非物体的财产。”当尝试访问尚未正确初始化或为 null 的对象的属性时,通常会发生此错误。

在提供的代码的情况下,问题在于从数据库获取侧菜单数据。 mysql_fetch_object() 函数返回单个对象,而不是对象数组。因此,在视图页面中迭代 $sidemenus 变量会触发错误。

要解决此问题,请将控制页面上的代码修改为:

$results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='".$menu."' ORDER BY `id` ASC LIMIT 1", $con);

$sidemenus = array();
while ($sidemenu = mysql_fetch_object($results)) {
    $sidemenus[] = $sidemenu;
}
登录后复制

此代码将 mysql_fetch_object() 返回的单个对象转换为对象数组。然后,视图页面可以迭代数组,而不会遇到属性错误。

另一种替代方法是使用 PDO,它为数据库交互提供了更现代、更安全的接口。 PDOStatement::fetchAll(PDO::FETCH_OBJ) 方法可用于从数据库查询中获取对象数组。

以上是如何修复 PHP 中的'尝试获取非对象的属性”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板