尝试访问非对象的属性:已解决
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中文网其他相关文章!