一尘不染

试图在[重复]中获得非对象的属性

mysql

这个问题已经在这里有了答案

调用非对象上的成员函数[重复] (8个答案)

6年前关闭。

在控制页面上:

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

在查看页面上:

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

错误是:

注意:尝试在第22行的C:\ wamp \ www \ phone \ pages \ init.php中获取非对象的属性

你能修好它吗?我不知道发生了什么。


阅读 236

收藏
2020-05-17

共1个答案

一尘不染

检查手册mysql_fetch_object()。它返回一个对象,而不是对象数组。

我猜你想要这样的东西

$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;
}

可能我建议您看看PDO。PDOStatement::fetchAll(PDO::FETCH_OBJ)做你mysql_fetch_object()想做的事

2020-05-17