Résolution de l'erreur « Essayer d'obtenir la propriété d'un non-objet » en PHP
Lorsque vous travaillez avec PHP, vous pouvez rencontrer l'erreur « Essayer pour obtenir la propriété du non-objet. Cette erreur se produit généralement lors de la tentative d'accès aux propriétés d'un objet qui n'a pas été correctement initialisé ou qui est nul.
Dans le cas du code fourni, le problème réside dans la récupération des données du menu latéral à partir de la base de données. La fonction mysql_fetch_object() renvoie un seul objet, pas un tableau d'objets. Par conséquent, parcourir la variable $sidemenus dans la page d'affichage déclenchera l'erreur.
Pour résoudre ce problème, modifiez le code sur la page de contrôle comme suit :
$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; }
Ce code convertit l'objet unique renvoyé par mysql_fetch_object() en un tableau d'objets. La page d'affichage peut ensuite parcourir le tableau sans rencontrer l'erreur de propriété.
Une autre alternative consiste à utiliser PDO, qui fournit une interface plus moderne et sécurisée pour les interactions avec la base de données. La méthode PDOStatement::fetchAll(PDO::FETCH_OBJ) peut être utilisée pour récupérer un tableau d'objets à partir d'une requête de base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!