Maison >développement back-end >tutoriel php >Pourquoi `mysqli_num_rows()` renvoie-t-il un objet booléen au lieu d'un objet `mysqli_result` ?

Pourquoi `mysqli_num_rows()` renvoie-t-il un objet booléen au lieu d'un objet `mysqli_result` ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-29 03:14:12626parcourir

Why Does `mysqli_num_rows()` Return a Boolean Instead of a `mysqli_result` Object?

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

Problème

Lors de l'intégration de HTML Purifier dans un script PHP, une erreur se produit à la ligne 22 : mysqli_num_rows() s'attend à ce que le paramètre 1 soit mysqli_result, booléen donné. L'erreur est déclenchée lors de la tentative de vérification du nombre de lignes renvoyées par une requête MySQL.

Solution

L'erreur est causée par une requête SQL incorrecte à la ligne 22, qui est :

$dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

L'erreur est : "Vous ne rejoignez votre profil nulle part." Cela signifie que la requête tente de joindre les utilisateurs et les tables de profil sur la colonne user_id, mais que la table de profil n'est pas incluse dans la clause FROM.

Pour résoudre le problème, la table de profil doit être incluse dans la clause FROM, comme ceci :

$dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN profile ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

Avec ce changement, la requête joindra correctement les utilisateurs et les tables de profil et renverra les résultats souhaités.

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