Maison >développement back-end >tutoriel php >Comment résoudre l'erreur « Appel à une fonction membre prepare() sur null » dans la connectivité de la base de données ?

Comment résoudre l'erreur « Appel à une fonction membre prepare() sur null » dans la connectivité de la base de données ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 13:44:29937parcourir

How to Resolve the

Erreur de fonction membre nulle : un problème de connectivité de la base de données

Lorsque vous rencontrez une erreur « Appel à une fonction membre préparer() sur null » , le problème provient généralement d'une variable non initialisée dans l'instance de classe. Dans votre cas, le problème réside dans l'initialisation manquante de la variable $pdo.

Au sein de votre classe Category, les méthodes fetch_all() et fetch_data() nécessitent toutes deux une connexion PDO. Cependant, le code fourni n’établit pas explicitement cette connexion. Pour résoudre cette erreur, vous devez vous assurer que la variable $pdo est initialisée dans la portée globale avant d'appeler les méthodes de classe.

<code class="php"><?php

// Instantiate a new PDO object globally
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

class Category {
    public function fetch_all() {
        global $pdo;

        // Use the initialized $pdo variable to prepare the SQL query
        $query = $pdo->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();
    }
}

?></code>

En initialisant la variable $pdo globalement et en vous assurant qu'elle est utilisée dans la classe méthodes, vous établirez une connexion à la base de données appropriée et résoudrez l'erreur « Appel à une fonction membre préparer () sur null ».

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn