Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 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() для выполнения

Ответ 2

Ваша ошибка

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

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

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

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

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

Ответ 3

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

Ответ 4

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

или

$sidemenus = mysql_fetch_array($results);

затем

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