首页 >数据库 >mysql教程 >为什么访问 MySQL 查询结果时出现'Trying to get property of non-object”?

为什么访问 MySQL 查询结果时出现'Trying to get property of non-object”?

Barbara Streisand
Barbara Streisand原创
2024-12-01 22:38:13987浏览

Why Am I Getting

尝试访问非对象的属性:已解决

MySQL 查询通常返回多行。要迭代这些行,我们可以使用带有 mysql_fetch_object() 的循环来将每一行作为对象获取。但是,当我们尝试访问不存在的对象的属性时,会出现错误“尝试获取非对象的属性”。此错误表明查询结果为空。

要解决此问题,我们可以检查查询结果是否存在。这是更正后的代码:

控制页面:

<?php
include 'pages/db.php';
$results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='{$menu}' ORDER BY `id` ASC LIMIT 1", $con);

// Check if the query result exists
if ($results) {
  $sidemenus = mysql_fetch_object($results);
}
?>

查看页面:

<?php
if ($sidemenus) {
  foreach ($sidemenus as $sidemenu):
?>
<?php echo $sidemenu->mname."<br />"; ?>
<?php
  endforeach;
}
?>

或者,您可以将 PDO 与 PDOStatement::fetchAll(PDO::FETCH_OBJ) 一起使用自动从您的查询中检索对象数组。

以上是为什么访问 MySQL 查询结果时出现'Trying to get property of non-object”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn