Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens l'erreur « Avertissement : mysql_fetch_array() : l'argument fourni n'est pas un résultat MySQL valide » dans mon script PHP ?

Pourquoi est-ce que j'obtiens l'erreur « Avertissement : mysql_fetch_array() : l'argument fourni n'est pas un résultat MySQL valide » dans mon script PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-17 15:53:12466parcourir

Why am I getting the

Erreur : "Avertissement : mysql_fetch_array() : l'argument fourni n'est pas un résultat MySQL valide"

Lors de la tentative d'exécution d'un script PHP, vous rencontrez le message d'erreur suivant :

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

Cette erreur se produit lorsque la fonction mysql_fetch_array() reçoit un résultat MySQL invalide. Pour résoudre le problème, examinons la cause sous-jacente :

Résultat MySQL invalide

La fonction mysql_fetch_array() nécessite un objet de résultat MySQL valide comme argument. Cet objet est renvoyé par la fonction mysql_query() après l'exécution d'une requête. Si la requête n'est pas valide ou échoue, la fonction mysql_query() renverra une valeur fausse au lieu d'un objet de résultat valide.

Vérification des erreurs

Pour déterminer si la La requête est la source du problème, vous devez vérifier la fonction mysql_error() après avoir exécuté la requête. Cette fonction fournira des détails sur toutes les erreurs survenues lors de l'exécution de la requête.

Exemple de code :

$result = $connector->query('SELECT title,content FROM staff_vacancies ORDER BY ordering LIMIT 0,100');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

Fonction de requête modifiée()

Pour améliorer la gestion des erreurs et fournir un message d'erreur plus détaillé, vous pouvez modifier la fonction query() dans votre classe DbConnector comme suit :

function query($query) {
    $this->theQuery = $query;
    $queryId = mysql_query($query, $this->link);
    if (!$queryId) {
        throw new Exception(mysql_error() . ".  Query was:\n\n" . $query . "\n\nError number: " . mysql_errno());
    }
    return $queryId;
}

Cette fonction modifiée lèvera une exception avec un message d'erreur détaillé, comprenant le numéro d'erreur et la requête qui a échoué. En gérant cette exception, vous pouvez fournir un message d'erreur plus convivial pour vous aider à identifier et à résoudre le problème.

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