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!