Maison  >  Article  >  base de données  >  Pourquoi est-ce que j'obtiens l'erreur « Erreur fatale : Appel à une fonction membre query() sur null » ?

Pourquoi est-ce que j'obtiens l'erreur « Erreur fatale : Appel à une fonction membre query() sur null » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 12:32:02685parcourir

Why am I getting the error

"Erreur fatale : appel à une fonction membre query() sur null" Expliqué

Cette erreur survient lors de la tentative d'accès à la requête ( ) méthode d'une variable nulle. Généralement, cela se produit lorsque vous tentez d'exécuter des requêtes de base de données sans établir de connexion à la base de données ou lorsque la variable $db n'a pas été correctement initialisée.

Diagnostic :

Dans le code fourni, l'erreur semble provenir de la ligne 7 :

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

Cependant, la ligne 3 du code initialise la variable $db :

<code class="php">$db = new mysqli('127.0.0.1', 'root', '', 'wisconsindairyfarmers');</code>

Solution :

Pour résoudre ce problème, assurez-vous que la variable $db est initialisée et valide avant de l'utiliser dans la méthode query(). Dans ce cas, il semble que la variable $db soit définie en dehors de la fonction user_exists(). Pour y accéder au sein de la fonction, passez-le en paramètre :

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

Ensuite, appelez la fonction comme ceci :

<code class="php">user_exists($db, $username);</code>

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