Maison  >  Article  >  base de données  >  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
Barbara Streisandoriginal
2024-10-28 05:55:02145parcourir

  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>

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!

Déclaration:
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