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 ?

Pourquoi `mysql_fetch_array()` renvoie-t-il un booléen au lieu d'une ressource, et comment puis-je y remédier ?

Susan Sarandon
Libérer: 2024-12-22 03:05:16
original
1028 Les gens l'ont consulté

Why Does `mysql_fetch_array()` Return a Boolean Instead of a Resource, and How Can I Fix It?

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'];
}
Copier après la connexion

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!

Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal