コントロールページ:
<?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; ?>
エラー:
Notice:22行目のC:\ wamp\www\phone\pages\init.phpで非オブジェクトのプロパティを取得しようとしています
修正できますか?何が起こったのか全く分かりません。
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()
が行うと仮定したことを行います
Notice:22行目のC:\ wamp\www\phone\pages\init.phpで非オブジェクトのプロパティを取得しようとしています
@ 22は
<?php echo $sidemenu->mname."<br />";?>
です
$sidemenu
はオブジェクトではなく、そのプロパティの1つにアクセスしようとしています。
それがあなたのエラーの理由です。
<?php foreach ($sidemenus->mname as $sidemenu): ?>
<?php echo $sidemenu ."<br />";?>
または
$sidemenus = mysql_fetch_array($results);
それから
<?php echo $sidemenu['mname']."<br />";?>
$sidemenu
はobject
ではないため、メソッドを呼び出すことはできません。おそらくview
に送信されていないか、$sidemenus
が空です。