php 报错如下:Notice: Trying to get property of non-object

 

参考文档如下解决:

https://stackoverflow.com/questions/5891911/trying-to-get-property-of-non-object-in

 

问题如下:

 

This question already has an answer here:

on Control page:

<?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);
?>

on View Page:

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

Error is:

Notice: Trying to get property of non-object in C:\wamp\www\phone\pages\init.php on line 22

Can you fix it? I don't have any idea what happened.

 

解决如下:

Check the manual for mysql_fetch_object(). It returns an object, not an array of objects.

I'm guessing you want something like this

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

Might I suggest you have a look at PDO. PDOStatement::fetchAll(PDO::FETCH_OBJ) does what you assumed mysql_fetch_object() to do

posted @ 2017-06-01 10:56  feiyun8616  阅读(12831)  评论(0编辑  收藏  举报