Maison >développement back-end >tutoriel php >Pourquoi `mysqli_num_rows()` renvoie-t-il \'attend-il que le paramètre 1 soit mysqli_result, booléen donné\' ?
PHP et MySQL : correction de l'erreur de paramètre mysqli_num_rows()
L'erreur "mysqli_num_rows() s'attend à ce que le paramètre 1 soit mysqli_result, booléen donné" indique que la fonction attend un objet de résultat MySQL valide comme premier paramètre, mais reçoit un booléen value.
Dans ce cas, le problème est dû à la requête utilisée dans l'appel mysqli_query(), qui contient une erreur de syntaxe. Le problème vient de l'instruction SELECT :
SELECT users.*, profile.* FROM users INNER JOIN contact_info ON contact_info.user_id = users.user_id WHERE users.user_id=3");
La requête tente d'effectuer une jointure interne entre les utilisateurs et les tables contact_info, mais il manque une clause JOIN. La requête correcte devrait ressembler à ceci :
SELECT users.*, profile.* FROM users INNER JOIN profile ON profile.user_id = users.user_id WHERE users.user_id=3");
Une fois la requête corrigée, mysqli_query() devrait renvoyer un objet de résultat valide, qui peut ensuite être transmis comme premier paramètre à mysqli_num_rows().
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!