:
<?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中获取非对象的属性
你能解决吗?我不知道发生了什么。
答案 0 :(得分:30)
查看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()
要执行的操作
答案 1 :(得分:12)
注意:尝试在第22行的C:\ wamp \ www \ phone \ pages \ init.php中获取非对象的属性
@ 22是
<?php echo $sidemenu->mname."<br />";?>
$sidemenu
不是对象,您正在尝试访问其中一个属性。
这就是你错误的原因。
答案 2 :(得分:5)
<?php foreach ($sidemenus->mname as $sidemenu): ?>
<?php echo $sidemenu ."<br />";?>
或
$sidemenus = mysql_fetch_array($results);
然后
<?php echo $sidemenu['mname']."<br />";?>
答案 3 :(得分:4)
$sidemenu
不是object
,因此您无法在其上调用方法。它可能没有发送到您的view
,或者$sidemenus
是空的。