Maison >base de données >tutoriel mysql >Pourquoi mon script PHP renvoie-t-il un avertissement « mysql_fetch_array() : l'argument fourni n'est pas un résultat MySQL valide » ?

Pourquoi mon script PHP renvoie-t-il un avertissement « mysql_fetch_array() : l'argument fourni n'est pas un résultat MySQL valide » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 18:39:11911parcourir

Why Does My PHP Script Throw a

Argument invalide dans mysql_fetch_array()

Description du problème

Lors de l'exécution d'un script PHP, l'erreur suivante est rencontré :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result [duplicate]

Origine de l'erreur

Cette erreur se produit généralement lorsque la variable $result, qui est censée contenir un jeu de résultats MySQL valide, est réellement vide ou invalide.

Extrait de code

L'extrait de code à l'origine du problème :

$connector = new DbConnector();
$result = $connector->query('SELECT title,content FROM staff_vacancies ORDER BY ordering LIMIT 0,100');
while ($row = $connector->fetchArray($result)){

echo $row['title'].'</h3>';
echo $row['content'];
}

Causes possibles

Voici les causes possibles de la variable $result non valide :

  • Échec de la requête : La requête exécutée à l'aide de $connector->query() a renvoyé un jeu de résultats vide ou a échoué en raison d'un erreur.
  • Erreur de syntaxe : La requête de base de données elle-même peut contenir des erreurs de syntaxe, ce qui entraîne son échec.

Solution

Pour résoudre ce problème, suivez les étapes suivantes :

  • Vérifier la requête Erreurs : Utilisez mysql_error() pour vérifier les erreurs dans la requête exécutée par $connector->query(). Si une erreur se produit, elle sera affichée.
  • Examinez la requête : Inspectez la requête de base de données pour détecter toute erreur de syntaxe ou de logique susceptible de provoquer son échec.
  • Méthode de requête améliorée : Refactorisez la méthode query() dans DbConnector.php pour gérer la détection des erreurs et fournir une erreur plus descriptive message.

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