Maison >base de données >tutoriel mysql >Pourquoi est-ce que je reçois l'erreur « Appel à une requête de fonction membre () sur Null » en PHP ?

Pourquoi est-ce que je reçois l'erreur « Appel à une requête de fonction membre () sur Null » en PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 05:16:311026parcourir

Why am I getting the

Dépannage de l'erreur "Appel à une requête de fonction membre() sur Null"

Dans le code fourni, l'erreur "Erreur fatale : Appel à une fonction membre query() sur null" apparaît à la ligne 7 de login.php. Cette erreur indique que la variable $db, qui est censée être un objet mysqli, est nulle lors de la tentative d'exécution d'une requête à l'aide de la méthode query().

Résolution :

En regardant de plus près le code, on remarque que l'initialisation de la variable $db est placée en dehors de la fonction user_exists(), où elle est utilisée. Cela signifie qu'au sein de la fonction, $db n'est pas défini et est donc nul. Pour résoudre ce problème, nous devons passer $db en paramètre à la fonction user_exists(). Voici le code corrigé :

<code class="php">function user_exists($db, $username) {
    // ...
}</code>

Et dans login.php, vous pouvez maintenant appeler la fonction comme ceci :

<code class="php">$result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'");</code>

En passant $db en paramètre, on s'assure que le La fonction a accès à l'objet mysqli et peut exécuter avec succès la requête.

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