"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo solucionar el error "Intentando obtener propiedad de no objeto" en PHP?

¿Cómo solucionar el error "Intentando obtener propiedad de no objeto" en PHP?

Publicado el 2024-11-09
Navegar:132

How to Fix the

Resolviendo el error "Intentando obtener propiedad de no objeto" en PHP

Al trabajar con PHP, puede encontrar el error "Intentando para obtener propiedad de lo que no es objeto." Este error suele ocurrir al intentar acceder a las propiedades de un objeto que no se ha inicializado correctamente o es nulo.

En el caso del código proporcionado, el problema radica en la obtención de los datos del menú lateral de la base de datos. La función mysql_fetch_object() devuelve un único objeto, no una matriz de objetos. Como resultado, iterar a través de la variable $sidemenus en la página de visualización activará el error.

Para resolver este problema, modifique el código en la página de control 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;
}

Este código convierte el único objeto devuelto por mysql_fetch_object() en una matriz de objetos. Luego, la página de visualización puede iterar a través de la matriz sin encontrar el error de propiedad.

Otra alternativa es usar PDO, que proporciona una interfaz más moderna y segura para las interacciones con la base de datos. El método PDOStatement::fetchAll(PDO::FETCH_OBJ) se puede utilizar para recuperar una matriz de objetos de una consulta de base de datos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3