IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

fetch_array() not a valid SQL resource


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 26
    Points
    26
    Par défaut fetch_array() not a valid SQL resource
    Bonjour à tous.

    J'ai du mal à saisir pourquoi j'ai ce problème dans mon code :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
                $Series = array();
       	    $Textes = array();
       	    $Series[Ø] = array();
       	    $tabSerieID = array();
     
                $req = mysql_query("SELECT * FROM Serie ORDER BY serie_pos ASC;");
       	    $nbSeries = mysql_num_rows($req);
       	    $i=1;
       	    while($fetcher = mysql_fetch_array($req) && $i<=$nbSeries)
       	    {
       	    		// Series est trié par la position des séries
       	    		// On pourra retrouver le "véritable" ID de Series[$i] par $tabSerieID[$i] 
       	    		$Series[$i] = array();
       	    		$tabSerieID[$i] = $fetcher['serieID'];
       	    		echo $tabSerieID[$i]."<<<DEBUGGGGG"; 
       	    		$Series[$i][0] = $fetcher['titre'];
       	    		$Textes[$i] = $fetcher['description'];
     
       	    		// Parcours de la série pour stocker les images
       	    		// Enregistrement chemin d'accès fichiers images
       	    		$j = 1;
       	    		$req2 = mysql_query("SELECT fichier FROM Photo WHERE serieID=".$tabSerieID[$i]." ORDER BY photo_pos ASC;");
       	    		while($fetcher2 = mysql_fetch_array($req2))
       	    		{
       	    			$Series[$i][$j] = (string) $fetcher2['fichier'];
       	    			$j++;
       	    		}
     
       	    		$i++;
       	    }

    En fait, mon echo "<<<DEBUG" montre que $tabSerieID[$i] est NULL. Donc effectivement, je comprends bien le problème la la ligne de déclaration de $fetcher2 (là où j'ai le warning d'indiqué).

    Qu'ai-je oublié ?

    P.S: c'est intentionnel que je démarre à i=1. Je ne me sers pas de 0 dans ce cas spécifique...
    Faut-il pour autant que je fasse un $tabSerieID[0] = null, manuellement ?

    Merci !

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    simple... ta requête ne retourne pas de ligne ou génère une erreur sql...

    donc forcément ton fetch va rien sortir et génère une erreur...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 26
    Points
    26
    Par défaut
    Y a rien d'autre que j'aurais pu avoir oublié ? dans la déclaration de mes tableaux ou autre?

    Parce que ce que tu me dis m'étonne. J'ai repris mon propre code qui fonctionne actuellement tel quel. Donc la requête est normalement valide! Bien... je vais débugger plus finement pour trouver la faille.

    Merci.

  4. #4
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    c'est parce que tu ne testes pas ce que tu as comme retour de tes requêtes...

    avant ta boucle avec le fetch... et ça ne sera une ressource que si tu as des lignes retournées... sinon c'est un booléen...

    de plus l'extension mysql n'est plus maintenue, tu devrais utiliser mysqli ou mieux pdo pour te connecter à mysql

    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Vire le ";" dans la requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query("SELECT * FROM Serie ORDER BY serie_pos ASC") or die('Erreur: '.mysql_error());
    A+.

Discussions similaires

  1. [SQL-Server] Warning: mssql_query(): supplied argument is not a valid MS SQL-Link resource
    Par danny3107 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/01/2010, 21h27
  2. [MySQL] mysql_num_rows() : not a valid mysql resource
    Par rikemSen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/05/2009, 10h53
  3. Erreur supplied argument is not a valid MySQL resource
    Par abidi_niz dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/09/2006, 13h26
  4. erreur: pg_query() 5 is not a valid PostgreSQL link resource
    Par david_chardonnet dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/06/2005, 13h50
  5. is not a valid MySQL-Link resource
    Par $erial.coder dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/07/2004, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo