"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como corrigir o erro “Tentando obter propriedade de não objeto” em PHP?

Como corrigir o erro “Tentando obter propriedade de não objeto” em PHP?

Publicado em 2024-11-09
Navegar:455

How to Fix the

Resolvendo o erro "Tentando obter propriedade de não-objeto" no PHP

Ao trabalhar com PHP, você pode encontrar o erro "Tentando para obter propriedade de não-objeto." Este erro normalmente ocorre ao tentar acessar propriedades de um objeto que não foi inicializado corretamente ou é nulo.

No caso do código fornecido, o problema está na busca dos dados do menu lateral do banco de dados. A função mysql_fetch_object() retorna um único objeto, não um array de objetos. Como resultado, iterar pela variável $sidemenus na página de visualização acionará o erro.

Para resolver esse problema, modifique o código na página de controle para:

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

Este código converte o único objeto retornado por mysql_fetch_object() em um array de objetos. A página de visualização pode então percorrer o array sem encontrar o erro de propriedade.

Outra alternativa é usar o PDO, que fornece uma interface mais moderna e segura para interações com o banco de dados. O método PDOStatement::fetchAll(PDO::FETCH_OBJ) pode ser usado para buscar um array de objetos de uma consulta ao banco de dados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3