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

Requêtes MySQL Discussion :

[SGBD] problème mysql_fetch_array()


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 37
    Par défaut [SGBD] problème mysql_fetch_array()
    Bonjour.
    Je suis entrin de créer un site web, en php mysql.
    En local tout va bien je n'ai aucune erreur, mais lorsque je met toutes les données sur le serveur, et que j'essai d'ouvre des pages qui nécessitent, des récupérer des informations dans la base de données, il s'affiche cela.
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/9/2/site.v.i.pclan/Site VIP/Membres.php on line 59

    Qu'est-ce qui cloche, y a t'il kelke chose a paramétrer?

  2. #2
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Salut

    Ce serait judicieux de nous faire part de ton code source :
    .....histoire de voir ta fameuse ligne 59

    Si tu nous donnes ton lien absolu et qu'il intégre du php, ca m'étonnerait qu'on puisse la localiser cette ligne.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 37
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     <?
    	  while ( $result = mysql_fetch_array($requete) )
    		{
    		   $result2 = mysql_fetch_array($requete2);
          	   echo ( "<tr class='style2'>");
               echo ( "<td>" .$result["pseudo"]. "</td>"); 
               echo ( "<td>" .$result["email"]. "</td>"); 
               echo ( "<td>" .$result["msn"]. "</td>"); 
               echo ( "<td>" .$result2["nom"]. "</td>"); 
               echo ( "</tr>" );
    		}
    		?>
    [/u]

  4. #4
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par ben127
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     <?
    	  while ( $result = mysql_fetch_array($requete) )
    		{
    		   $result2 = mysql_fetch_array($requete2);
          	   echo ( "<tr class='style2'>");
               echo ( "<td>" .$result["pseudo"]. "</td>"); 
               echo ( "<td>" .$result["email"]. "</td>"); 
               echo ( "<td>" .$result["msn"]. "</td>"); 
               echo ( "<td>" .$result2["nom"]. "</td>"); 
               echo ( "</tr>" );
    		}
    		?>
    [/u]
    Avec des (") superflus, essaye ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <? 
         while ( $result = mysql_fetch_array($requete) ) 
          { 
             $result2 = mysql_fetch_array($requete2); 
                echo ( "<tr class='style2'>"); 
               echo ( "<td> .$result["pseudo"]. </td>"); 
               echo ( "<td> .$result["email"]. </td>"); 
               echo ( "<td> .$result["msn"]. </td>"); 
               echo ( "<td> .$result2["nom"]. </td>"); 
               echo ( "</tr>" ); 
          } 
          ?>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 37
    Par défaut
    avec le code que tu m'a donné ca me retourne cette erreur
    Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/free.fr/9/2/site.v.i.pclan/Site VIP/Membres.php on line 62

    Mais ce que je comprend vraiment pas c'est queen local ce code marche trés bien.

  6. #6
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Quand tu affiches ta page source dans ton éditeur, elle comprend quoi ta ligne 59 ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 37
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ( $result = mysql_fetch_array($requete))
    la ligne 59 c'est cette ligne la, et ci par exemple je l'a met en commentaire, il va me sortir une erreur sur cette ligne la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result2 = mysql_fetch_array($requete2);

  8. #8
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    ok !

    Mais je pige pas pourquoi tu mets $result dans ta bloucle
    et ensuite $result2

    idem pour $requete & $requete2

    :
    C'est pas clair ton code.
    Tu dois conserver les mêmes paramétres.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 37
    Par défaut
    bon alors si tu prefere j'ai deux requetes, donc une qui est retourne dans requete et l'autre dans requetes2, donc result récupére les valeur de requetes, et result les valeurs de requetes 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    	include "connex.php";
    	$query = "SELECT * FROM utilisateur";
    	$query2 = "SELECT * FROM niveau, utilisateur WHERE niveau.id = utilisateur.niveau";
    	$requete = mysql_query($query);
    	$requete2 = mysql_query($query2);
     
     
    ?>
    Et ca change rien de faire comme ca ou autrement, vu que en local ca marche. c'est ca qui me rend fou...

  10. #10
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Ben heu... ce n'est pas le code que tu as donné au départ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <? 
         while ( $result = mysql_fetch_array($requete) ) 
          { 
             $result2 = mysql_fetch_array($requete2); 
                echo ( "<tr class='style2'>"); 
               echo ( "<td>" .$result["pseudo"]. "</td>"); 
               echo ( "<td>" .$result["email"]. "</td>"); 
               echo ( "<td>" .$result["msn"]. "</td>"); 
               echo ( "<td>" .$result2["nom"]. "</td>"); 
               echo ( "</tr>" ); 
          } 
          ?>
    Dans le cas présent, je vois bien un boucle concernant $result et $requete, pour un affichage de $result2 pour $requete2.
    Forcemment, dans ce cas précis, il y a bug.

  11. #11
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    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
    <? 
       include "connex.php"; 
       $query = "SELECT * FROM utilisateur"; 
       $query2 = "SELECT * FROM niveau, utilisateur WHERE niveau.id = utilisateur.niveau"; 
       $requete = mysql_query($query); 
       $requete2 = mysql_query($query2); 
         while ( $result = mysql_fetch_array($requete) ) 
          { 
             $result2 = mysql_fetch_array($requete2); 
                echo ( "<tr class='style2'>"); 
               echo ( "<td>" .$result["pseudo"]. "</td>"); 
               echo ( "<td>" .$result["email"]. "</td>"); 
               echo ( "<td>" .$result["msn"]. "</td>"); 
               echo ( "<td>" .$result2["nom"]. "</td>"); 
               echo ( "</tr>" ); 
          } 
          ?>
    c'est pas très logique ce que tu fais, puisque la tu executes ^requete2 autant fois que tu boucles sur requete or cela ne t'apportes rien.

    De plus ton erreur doit provenir du fait que lorsque sa boucle. Sa passe une fois sasnn souci, puis apres au second passsage le query etant utilisé il n'est plus utilisable donc erreur.

    en bref, essaie ainsi.

    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
    <? 
       include "connex.php"; 
       $query = "SELECT * FROM utilisateur"; 
       $query2 = "SELECT * FROM niveau, utilisateur WHERE niveau.id = utilisateur.niveau"; 
       $requete = mysql_query($query); 
       $requete2 = mysql_query($query2); 
        $result2 = mysql_fetch_array($requete2); 
         while ( $result = mysql_fetch_array($requete) ) 
          { 
                echo ( "<tr class='style2'>"); 
               echo ( "<td>" .$result["pseudo"]. "</td>"); 
               echo ( "<td>" .$result["email"]. "</td>"); 
               echo ( "<td>" .$result["msn"]. "</td>"); 
               echo ( "<td>" .$result2["nom"]. "</td>"); 
               echo ( "</tr>" ); 
          } 
          ?>
    Si cela ne marche toujours c'est que ta base ne correspond et que c'est donc un probleme de requetes SQL.

    bye

  12. #12
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    En rajoutant, or die(), ça permet d'afficher les erreurs SQL...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = mysql_query($query) or die (mysql_error()); 
    $requete2 = mysql_query($query2) or die (mysql_error());

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 37
    Par défaut
    non le problème ne vien pas de mon code, car si je met result2 dans le while, c'est fais exprés, car je veux que ca boucle, car le résultat, n'est pas le même a chaque fois, car si je ne le met pas dans la boucle, ca me sort a chaque fois le même résultat.
    je viens de regarder et en effet c'est bien un problème avec ma base de données. Merci a vous tous, et désolé pour le dérangement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SGBD] erreur mysql_fetch_array
    Par Le Mage Noir dans le forum Requêtes
    Réponses: 18
    Dernier message: 09/02/2006, 12h07
  2. Réponses: 5
    Dernier message: 09/01/2006, 13h07
  3. [SGBD] Trier un tableau crée avec mysql_fetch_array
    Par kaygee dans le forum SQL Procédural
    Réponses: 14
    Dernier message: 07/01/2006, 21h02
  4. [SGBD] Warning: mysql_fetch_array()
    Par talme dans le forum Installation
    Réponses: 2
    Dernier message: 03/11/2005, 04h39
  5. [SGBD] mysql_fetch_array provoque une erreur
    Par nicerico dans le forum Requêtes
    Réponses: 6
    Dernier message: 06/10/2005, 14h20

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