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 ?

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 ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-26 11:42:10453parcourir

Why is my mysqli_fetch_array() function throwing an

Résolution des erreurs MySQLi : mysqli_fetch_array() Arguments non valides et problèmes similaires

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 :

1. Activer le rapport d'erreurs mysqli

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.

2. Utilisez les instructions préparées

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.

3. Vérifiez les messages d'erreur

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.

4. Débogage de base

Si la requête semble être exécutée mais ne produit aucun résultat, tenez compte de ces facteurs :

  • Assurez-vous que la requête s'est exécutée sans erreur.
  • Vérifiez que le programme la logique s'écoule correctement jusqu'au point d'exécution de la requête.
  • Vérifiez que les résultats sont affichés à partir de la bonne base de données.
  • Examinez les données d'entrée pour garantir qu'elles correspondent au format de la base de données.

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