Maison >développement back-end >tutoriel php >Pourquoi ma fonction mysqli_fetch_array() renvoie-t-elle une erreur « L'argument n°1 doit être de type mysqli_result » et comment puis-je la corriger ?
Dans MySQLi, rencontrer des erreurs telles que "mysqli_fetch_array() : L'argument n°1 doit être de type mysqli_result" indique un échec dans l'exécution de la requête SQL. Pour résoudre ce problème et d’autres problèmes similaires, suivez ces directives :
Toujours inclure mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); avant la connexion mysqli pour afficher des messages d'erreur détaillés. PHP générera alors des erreurs fatales pour les erreurs MySQL, rendant la source de l'erreur claire.
Remplacez les variables PHP dans les requêtes SQL par des points d'interrogation. Exécutez la requête à l'aide d'une instruction préparée telle que $stmt = $mysqli->prepare("SELECT id, description FROM tbl_page_answer_category WHERE cur_own_id = ?");. Cela évite les erreurs de syntaxe causées par des jetons incompatibles ou des entrées non valides.
Examinez le message d'erreur produit par MySQL. Il contient le nom du fichier, le numéro de ligne et une explication détaillée du problème. Concentrez-vous sur la compréhension de l’erreur plutôt que sur la simple recherche d’une solution rapide. Assurez-vous que la table existe, que la syntaxe de la requête est correcte et que le flux logique atteint le point d'exécution de la requête.
Si la requête semble être exécutée mais ne produit aucun résultat, tenez compte de ces facteurs :
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!