«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как исправить ошибку «Попытка получить свойство, не являющееся объектом» в PHP?

Как исправить ошибку «Попытка получить свойство, не являющееся объектом» в PHP?

Опубликовано 9 ноября 2024 г.
Просматривать:466

How to Fix the

Устранение ошибки «Попытка получить свойство необъектного объекта» в PHP

При работе с PHP вы можете столкнуться с ошибкой «Попытка чтобы получить свойство необъекта». Эта ошибка обычно возникает при попытке доступа к свойствам объекта, который не был правильно инициализирован или имеет значение NULL.

В случае предоставленного кода проблема заключается в извлечении данных бокового меню из базы данных. Функция mysql_fetch_object() возвращает один объект, а не массив объектов. В результате перебор переменной $sidemenus на странице просмотра вызовет ошибку.

Чтобы решить эту проблему, измените код на странице управления следующим образом:

$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;
}

Этот код преобразует один объект, возвращаемый функцией mysql_fetch_object(), в массив объектов. Затем страница просмотра может перебирать массив, не обнаруживая ошибки свойства.

Другой альтернативой является использование PDO, который обеспечивает более современный и безопасный интерфейс для взаимодействия с базой данных. Метод PDOStatement::fetchAll(PDO::FETCH_OBJ) можно использовать для извлечения массива объектов из запроса к базе данных.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3