на странице управления:
<?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 />";?>