"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 resolver el error \"Llamada a una función miembro prepare() en nulo\" en la conectividad de la base de datos?

¿Cómo resolver el error \"Llamada a una función miembro prepare() en nulo\" en la conectividad de la base de datos?

Publicado el 2024-11-08
Navegar:314

How to Resolve the \

Error de función miembro nula: un problema en la conectividad de la base de datos

Cuando se encuentra el error "Llamada a una función miembro prepare() en nulo" , el problema generalmente surge de una variable no inicializada dentro de la instancia de clase. En su caso, el problema radica en la falta de inicialización de la variable $pdo.

Dentro de su clase Categoría, los métodos fetch_all() y fetch_data() requieren una conexión PDO. Sin embargo, el código proporcionado no establece esta conexión explícitamente. Para resolver este error, debe asegurarse de que la variable $pdo esté inicializada dentro del alcance global antes de llamar a los métodos de la clase.

prepare("SELECT * FROM dd_cat");
        $query->execute();

        return $query->fetchAll();
    }

    public function fetch_data($cat_id) {
        global $pdo;

        // Use the initialized $pdo variable to prepare the SQL query
        $query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
        $query->bindValue(1, $cat_id);
        $query->execute();

        return $query->fetch();
    }
}

?>

Al inicializar la variable $pdo globalmente y asegurarse de que se use dentro de los métodos de clase, establecerá una conexión de base de datos adecuada y resolverá el error "Llamada a una función miembro prepare() en caso nulo".

Ú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