Maison >développement back-end >tutoriel php >Pourquoi la récupération MySQL génère-t-elle une erreur « Échec des attentes en matière de ressources » ?

Pourquoi la récupération MySQL génère-t-elle une erreur « Échec des attentes en matière de ressources » ?

DDD
DDDoriginal
2024-12-27 21:16:10351parcourir

Why Does MySQL Fetching Throw a

Erreur générée : échec des attentes en matière de ressources

Lorsque vous tentez d'accéder aux données d'une table MySQL, vous pouvez rencontrer une erreur indiquant : "mysql_fetch_array ()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... attend le paramètre 1 être une ressource, booléen étant donné."

Explication

Cette erreur est déclenchée lorsqu'une requête MySQL échoue, souvent en raison d'une syntaxe incorrecte, d'erreurs logiques, de champs manquants ou problèmes de connectivité à la base de données. En conséquence, la variable $result affectée à partir de la fonction mysql_query() renvoie false.

Solution

Pour résoudre cette erreur, vous devez vérifier si la variable $result est faux avant de tenter d'effectuer d'autres opérations. La documentation de la fonction mysql_query() fournit des détails sur les valeurs de retour possibles et suggère des étapes pour gérer les échecs.

Pour l'extension mysql_, utilisez mysql_error() pour obtenir les détails de l'erreur et déclencher un message d'erreur approprié à l'aide de trigger_error(). Le code révisé suivant inclut la gestion des erreurs :

$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

if ($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}

while ($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}

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