Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois l'avertissement \'mysql_fetch_assoc() : fourni n'est pas une ressource de résultat MySQL valide\' ?

Pourquoi est-ce que je reçois l'avertissement \'mysql_fetch_assoc() : fourni n'est pas une ressource de résultat MySQL valide\' ?

Barbara Streisand
Libérer: 2024-10-28 05:55:02
original
243 Les gens l'ont consulté

  Why Am I Getting the

"php warning mysql_fetch_assoc" Mystifié ?

Lorsque vous tentez de récupérer des données d'une base de données MySQL, il n'est pas rare de rencontrer le déconcertant "mysql_fetch_assoc () : l'argument fourni n'est pas une ressource de résultat MySQL valide" avertissement. Ce problème survient lorsque l'argument passé à la fonction mysql_fetch_assoc() n'est pas un pointeur d'ensemble de résultats valide.

Comprendre la cause

La fonction mysql_fetch_assoc() est conçue pour extraire un tableau associatif d'un jeu de résultats MySQL. Le jeu de résultats, à son tour, est obtenu en exécutant une requête avec mysql_query(). Par conséquent, l'argument transmis à mysql_fetch_assoc() doit être un pointeur d'ensemble de résultats valide, qui est généralement renvoyé par mysql_query().

Plonger dans le code

Dans votre Si vous fournissez un extrait de code, le problème réside dans la deuxième ligne :

<code class="php">$mus = mysql_fetch_assoc($musicfiles);</code>
Copier après la connexion

La variable $musicfiles ne contient pas de pointeur de jeu de résultats MySQL. Au lieu de cela, il contient le résultat d'un appel de fonction à getmusicfiles(). Cette fonction semble exécuter une requête et renvoyer le résultat (vraisemblablement en utilisant mysql_query()), mais la valeur de retour n'est pas stockée dans une variable.

L'approche correcte

Pour résoudre ce problème, vous devez attribuer le résultat de l'appel mysql_query() à une variable. Voici comment vous pouvez réécrire la partie pertinente de votre code :

<code class="php">$result = getmusicfiles($records['m_id']);
$mus = mysql_fetch_assoc($result);</code>
Copier après la connexion

En attribuant le résultat de mysql_query() à $result, vous vous assurez que mysql_fetch_assoc() dispose d'un pointeur d'ensemble de résultats valide avec lequel travailler.

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!

source:php.cn
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