"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>
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>
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!