sur la page de contrôle:
<?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);
?>
sur la page d'affichage:
<?php foreach ($sidemenus as $sidemenu): ?>
<?php echo $sidemenu->mname."<br />";?>
<?php endforeach; ?>
L'erreur est:
Avis: Essayer d'obtenir la propriété de non-objet dans C:\wamp\www\phone\pages\init.php à la ligne 22
Peux-tu le réparer? Je n'ai aucune idée de ce qui s'est passé.
Consultez le manuel pour mysql_fetch_object()
. Il retourne un objet, pas un tableau d'objets.
Je suppose que tu veux quelque chose comme ça
$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;
}
Puis-je vous suggérer de jeter un coup d'œil à PDO PDOStatement::fetchAll(PDO::FETCH_OBJ)
fait ce que vous supposiez mysql_fetch_object()
faire
Avis: Essayer d'obtenir la propriété de non-objet dans C:\wamp\www\phone\pages\init.php à la ligne 22
@ 22 est
<?php echo $sidemenu->mname."<br />";?>
$sidemenu
_ n'est pas un objet et vous essayez d'accéder à l'une de ses propriétés.
C'est la raison de votre erreur.
<?php foreach ($sidemenus->mname as $sidemenu): ?>
<?php echo $sidemenu ."<br />";?>
ou
$sidemenus = mysql_fetch_array($results);
ensuite
<?php echo $sidemenu['mname']."<br />";?>
$sidemenu
n'est pas un object
, vous ne pouvez donc pas appeler de méthodes dessus. Il n’est probablement pas envoyé à votre view
, ni à $sidemenus
est vide.