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 » ?
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!