Maison >base de données >tutoriel mysql >Pourquoi `mysql_fetch_array()` renvoie-t-il un booléen au lieu d'une ressource, et comment puis-je y remédier ?
Erreur de ressource MySQL : mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc..."
Lors de la tentative d'interaction avec une base de données MySQL, les développeurs peuvent rencontrer des messages d'erreur tels que "mysql_fetch_array() attend le paramètre 1 comme ressource, booléen étant donné." Ce problème survient lorsqu'une requête échoue et que la fonction recevant le résultat de la requête comme argument l'interprète comme un booléen au lieu d'une ressource.
Pour résoudre cette erreur, la première étape consiste à vérifier que la requête a été exécutée avec succès. Avant de transmettre le résultat à des fonctions comme mysql_fetch_array(), évaluez la variable de résultat à l'aide de mysql_query(). Si elle renvoie false, la requête a échoué et aucun traitement ultérieur ne devrait être effectué. se produire.
Gestion des conditions d'erreur dans l'extension MySQL
L'extension obsolète mysql_ fournit un moyen de récupérer le message d'erreur associé à une requête ayant échoué à l'aide de mysql_error() en l'incorporant. Cette vérification dans le code, les développeurs peuvent déclencher une erreur et fournir des informations significatives pour gérer le problème.
Exemple avec mysql_ extension :
$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']; }
En suivant ces étapes, les développeurs peuvent diagnostiquer et résoudre le problème où mysql_fetch_array() attend une ressource mais reçoit un booléen, garantissant une récupération fluide des données des tables MySQL.
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!