Пытаясь получить свойство не-объекта в

на странице управления:

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

Ошибка:

Примечание. При попытке получить свойство не-объекта в C: \ wamp \ www \ phone \ pages \ init.php в строке 22

Ты можешь починить это? Я не знаю, что произошло.

Проверьте руководство для 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() чтобы сделать

Ваша ошибка

Примечание. При попытке получить свойство не-объекта в C: \ wamp \ www \ phone \ pages \ init.php в строке 22

Ваш комментарий

@ 22 – это <?php echo $sidemenu->mname."<br />";?>

$sidemenu не является объектом, и вы пытаетесь получить доступ к одному из его свойств.

В этом причина вашей ошибки.

$ sidemenu не является объектом, поэтому вы не можете вызывать методы на нем. Вероятно, это не отправляется на ваш взгляд, или $ sidemenus пуст.

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

или

 $sidemenus = mysql_fetch_array($results); 

тогда

 <?php echo $sidemenu['mname']."<br />";?>