Maison >base de données >tutoriel mysql >Pourquoi `mysqli_num_rows()` renvoie-t-il « booléen donné » après avoir utilisé HTML Purifier et `mysqli_query()` ?

Pourquoi `mysqli_num_rows()` renvoie-t-il « booléen donné » après avoir utilisé HTML Purifier et `mysqli_query()` ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 20:45:10482parcourir

Why Does `mysqli_num_rows()` Return

mysqli_num_rows() s'attend à ce que le paramètre 1 soit mysqli_Result, booléen donné en PHP et MySQL

Message d'erreur

Lors de l'utilisation HTML Purifier pour filtrer les entrées de l'utilisateur et exécuter une requête à l'aide de mysqli_query(), vous pouvez rencontrez l'erreur :

mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given

Cette erreur se produit lorsque mysqli_num_rows() est appelée avec une valeur booléenne au lieu d'un objet mysqli_result.

Solution

La cause première de l'erreur est un problème dans la requête SQL. Dans le code donné, la requête :

SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info 
                                 ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

contient une erreur : il n'y a aucun JOIN avec la table de profil nulle part dans la requête. Pour résoudre ce problème, vous devez inclure l'instruction JOIN correcte dans la requête.

La requête corrigée :

SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN profile 
                                 ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

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