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 :

erreur de is not a valid MySQL


Sujet :

PHP & Base de données

  1. #1
    titirigole
    Invité(e)
    Par défaut erreur de is not a valid MySQL
    bonjour j'ai des érreurs et pour tmps je suis bien connecté a ma base sql

    donc les érreurs :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Coffre\commentaires\derniers_commentaires.php on line 55

    et

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Coffre\commentaires\derniers_commentaires.php on line 75

    et
    Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Coffre\commentaires\derniers_commentaires.php on line 162

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\Coffre\commentaires\derniers_commentaires.php on line 162

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Coffre\commentaires\derniers_commentaires.php on line 163
    le code est :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    <?php
    	  include('includes/connect01.php');
     
          //Si personne n'a posté
     
          $premier = mysql_query("SELECT COUNT(*) AS message_post FROM commentaires");
    	  $message = mysql_fetch_array($premier);
    	  $total = $message['message_post'];
    	  if ($total == 0)
    	  {
    	  echo '<div align="center" class="texte_blanc">';
    	  echo 'Soyez le premier à poster !';
    	  echo '</div>';
    	  echo '<br />';
    	  }
          if ($total >= 1)
    	  {
          //----------------------------------------------------------------------------------------------//
    	  //Si quelqun a déja posté
    	  // On met dans une variable le nombre de messages qu'on veut par page
    	  $nombreDeMessagesParPage = 15; // Essayez de changer ce nombre pour voir :o)
    	  // On récupère le nombre total de messages
    	  $retour = mysql_query("SELECT COUNT(*) AS nb_messages FROM commentaires");
    	  $donnees = mysql_fetch_array($retour);
    	  $totalDesMessages = $donnees['nb_messages'];
    	  // On calcule le nombre de pages à créer
    	  $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
    	  // Puis on fait une boucle pour écrire les liens vers chacune des pages
    	  echo '<p class="pages">Page : ';
    	  for ($i = 1 ; $i <= $nombreDePages ; $i++)
    	  {
    	  echo '<a href="'.$nom_page.'?page=' . $i . '">' . $i . '</a> ';
    	  }
     
          // --------------- Etape 3 ---------------
    	  // Maintenant, on va afficher les messages
    	  // ---------------------------------------
     
          if (isset($_GET['page']))
    	  {
    	  $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse ($nom_page.'?page=4)
    	  }
    	  else // La variable n'existe pas, c'est la première fois qu'on charge la page
    	  {
    	  $page = 1; // On se met sur la page 1 (par défaut)
    	  }
     
          // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
    	  $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
     
    	  $reponse = mysql_query("SELECT * FROM commentaires ORDER BY id_commentaire DESC LIMIT '" . $premierMessageAafficher . "', '" . $nombreDeMessagesParPage."'");
     
          //On fait une boucle pour afficher tout les messages
     
         while ($donnees = mysql_fetch_array($reponse)) 
     
     
          //A partir d'ici tu doit faire appel à ta fonction de parsage comme ceci
          $message_parse = code($donnees['message']);
    	  //On récupère les infos du membre
     
    	  $requete1 = mysql_query("SELECT * FROM forum_membres WHERE membre_id='.$membre.'");
    	  if ($data1 = mysql_fetch_assoc($requete1))
    	  {
          }
    	  ?>
    	  <table>
    	  <tr>
    	  <th class="vt_auteur">Auteurs</th>
    	  <th class="vt_mess">Messages</th>
    	  </tr>
     
    	  <?php
     
    	  while ($data2 = mysql_fetch_assoc($requete2))
    	  {
     
    	  // On commence à afficher le pseudo du créateur du message :
    	  // On vérifie les droits du membre
    	  // (partie du code commentée plus tard)
     
    	  echo'<tr><td>
    	  <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
    	  '.$data2['membre_pseudo'].'</a></td>';
     
          }
     
    	  // Détails sur le membre qui a posté
     
    	  echo'<tr><td>';
     
    	  echo'<div class="texte_blanc">'.EON($data1['membre_citation']).'</div>';
    	  echo'<br />';
     
    	  if(empty($data1['membre_avatar']))
    	  {
    	  echo'<img src="../images/avatar.gif" alt="avatar par défault" title="avatar par défault" />';
    	  }
    	  else
    	  {
    	  echo'<img src="../images/avatars/'.$data1['membre_avatar'].'" alt="son avatar" title="son avatar" />';
    	  }',
    
    	  <br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
    	  <br />Messages : '.$data2['membre_post'].'<br />
    	  Pays : '.$data2['membre_pays'].'</td>';
     
    	   echo'<td>';
     
     
    	   echo ''.code($data2['post_texte']).'';
     
           // Message
     
    	  //echo code($data2['post_texte']);
    	  if (!empty($data2['membre_signature']))
    	  echo '<br /><hr />'.code($data2['membre_signature']);
    	  echo'</td></tr>';
    	   // Fin de la boucle ! \o/
     
    	  ?>
     
    	  </table>
     
          <?php
    	  echo '<br /><br />';
    	  //On ferme le else
    	  }
    	  //On ferme la boucle
     
    	  if ($total == 0)
    	  {
    	  echo '';
    	  }
    	  //On se deconnecte
    	  mysql_close();
     
     
    if ($total >=1)
    {
     
    // --------------- Etape 1 -----------------
    // Si un message est envoyé, on l'enregistre
    // -----------------------------------------
     
    if (isset($_POST['message']))
    {
        $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
        $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
     
        // On peut enfin enregistrer :o)
        mysql_query("INSERT INTO commentaires  VALUES('', '".$_POST['message']."')");
    }
     
    // --------------- Etape 2 -----------------
    // On écrit les liens vers chacune des pages
    // -----------------------------------------
     
    	  // On met dans une variable le nombre de messages qu'on veut par page
    	  $nombreDeMessagesParPage = 15; // Essayez de changer ce nombre pour voir :o)
    	  // On récupère le nombre total de messages
    	  $retour = mysql_query("SELECT COUNT(*) AS nb_messages FROM commentaires");
    	  $donnees = mysql_fetch_array($retour);
    	  $totalDesMessages = $donnees['nb_messages'];
    	  // On calcule le nombre de pages à créer
    	  $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
    	  // Puis on fait une boucle pour écrire les liens vers chacune des pages
    	  echo '<p class="pages">Page : ';
    	  for ($i = 1 ; $i <= $nombreDePages ; $i++)
    	  {
    	  echo '<a href="'.$nom_page.'?page=' . $i . '">' . $i . '</a> ';
    	  }
    //On ferme if
    }
    if ($total == 0)
    {
    echo '</p>';
    }
    ?>
    merci d'avance de votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Puisque l'on doit deviner quelle est la ligne 55, le ticket tiré de mon chapeau me dit que c'est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	  $reponse = mysql_query("SELECT * FROM commentaires ORDER BY id_commentaire DESC LIMIT '" . $premierMessageAafficher . "', '" . $nombreDeMessagesParPage."'");
    Tu remplaces par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        $sql = 'SELECT * 
                FROM commentaires 
                ORDER BY id_commentaire DESC 
                LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
        $reponse = mysql_query($sql)
          or die(mysql_error());
    et tu auras, si Dieu le veut, plus de détail.

  3. #3
    titirigole
    Invité(e)
    Par défaut
    re merci ligne 55 réparé lol

    maintenant ligne 81:

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Coffre\commentaires\derniers_commentaires.php on line 81
    donc le code :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    	  <table>
    	  <tr>
    	  <th class="vt_auteur">Auteurs</th>
    	  <th class="vt_mess">Messages</th>
    	  </tr>
     
    	  <?php
     
    	  while ($data2 = mysql_fetch_assoc($requete2))
    	  {
     
    	  // On commence à afficher le pseudo du créateur du message :
    	  // On vérifie les droits du membre
    	  // (partie du code commentée plus tard)
     
    	  echo'<tr><td>
    	  <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
    	  '.$data2['membre_pseudo'].'</a></td>';
     
          }
     
    	  // Détails sur le membre qui a posté
     
    	  echo'<tr><td>';
     
    	  echo'<div class="texte_blanc">'.EON($data1['membre_citation']).'</div>';
    	  echo'<br />';
     
    	  if(empty($data1['membre_avatar']))
    	  {
    	  echo'<img src="../images/avatar.gif" alt="avatar par défault" title="avatar par défault" />';
    	  }
    	  else
    	  {
    	  echo'<img src="../images/avatars/'.$data1['membre_avatar'].'" alt="son avatar" title="son avatar" />';
    	  }',
    
    	  <br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
    	  <br />Messages : '.$data2['membre_post'].'<br />
    	  Pays : '.$data2['membre_pays'].'</td>';
     
    	   echo'<td>';
     
     
    	   echo ''.code($data2['post_texte']).'';
     
           // Message
     
    	  //echo code($data2['post_texte']);
    	  if (!empty($data2['membre_signature']))
    	  echo '<br /><hr />'.code($data2['membre_signature']);
    	  echo'</td></tr>';
    	   // Fin de la boucle ! \o/
     
    	  ?>
     
    	  </table>
    et ça me fais ça :

    http://imagik.fr/uploads/thumb_178525

    donc il met bien le tableau mais pas les messages et ni le pseudo

    merci de ton aide
    Dernière modification par titirigole ; 14/12/2008 à 19h10.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Même message, même punition. Et pour le suivant, pareil.

  5. #5
    titirigole
    Invité(e)
    Par défaut
    merci donc j'ai mis ca pour récupérer les pseudo de la table forum_membres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	  //On récupère les infos du membre
     
    	  $requete1 = mysql_query("SELECT * FROM forum_membres WHERE membre_id='.$membre.'");
    	  $sql = 'SELECT * 
                FROM forum_membres 
                ORDER BY forum_membres DESC 
                LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
        $reponse = mysql_query($sql)
          or die(mysql_error());
     
    	  if ($data1 = mysql_fetch_assoc($requete1))
    donc il me dit érreur :

    Unknown column 'forum_membres' in 'order clause'
    merci de ton aide

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Unknown column 'forum_membres' in 'order clause'
    Le message est clair, non ?
    The same in french in the text :
    Nom de colonne inconnu dans la clause 'ORDER'
    Cela dit, c'est un peu n'importe quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	  $requete1 = mysql_query("SELECT * FROM forum_membres WHERE membre_id='.$membre.'");
    	  $sql = 'SELECT * 
                FROM forum_membres 
                ORDER BY forum_membres DESC 
                LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
        $reponse = mysql_query($sql)
    Ceci devrait suffire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	  $sql = 'SELECT * 
                FROM forum_membres 
                ORDER BY forum_membres DESC 
                LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
        $requete1 = mysql_query($sql)

  7. #7
    titirigole
    Invité(e)
    Par défaut
    re

    ça ne fonctionne toujour pas mais ça avance

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Coffre\commentaires\derniers_commentaires.php on line 81
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	  while ($data2 = mysql_fetch_assoc($requete2))
    et j'ai éssayé de mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	  while ($data2 = mysql_fetch_assoc($requete2));
    mais ça ne fonctionne pas
    Dernière modification par Celira ; 15/12/2008 à 12h07.

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Explications et correction de l'erreur "supplied argument is not a valid MySQL result resource"

    Peut-être que si tu avais une variable $requete2 dans ton code, ça aiderait...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [MySQL] erreur de syntaxe par rapport au "argument is not a valid MySQL result resource" ?
    Par toto007 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/06/2008, 23h08
  2. [MySQL] erreur Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result
    Par kate59 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/02/2008, 17h52
  3. [MySQL] Erreur "supplied argument is not a valid MySQL result resource"
    Par lilemy dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/06/2007, 14h47
  4. [MySQL] Erreur mysql_num_rows: supplied argument is not a valid MySQL result resource
    Par dfournier dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/12/2006, 16h40
  5. 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

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