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

Linda Hamilton
Libérer: 2024-11-01 13:44:29
original
839 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!