Warning: mysql_fetch_array

Bonjour, jei reçoit un message d'erreur du type
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:/www/......
Unknown column 'id' in 'field list'

le code est le suivant:

<table width="100%" class=tr>
<tr class=mes bgcolor="<?=COLORH?>" align=center><td><?=$w[118]?></td><td><?=$w[132]?></td­­­><td><?=$w[120]?></td><td><?=$w[87]?></td></tr­&­g­t;
<?$tmp=mysql_query("SELECT id, fname, gender, birthday, pic1, pic2, pic3 FROM ".C_MYSQL_MEMBERS." WHERE status >= '7' order by regdate DESC limit ".C_LASTREG);
$color='';
while($i=mysql_fetch_array($tmp)) {
$color = ($color == COLOR4) ? COLOR3 : COLOR4;
$name = (trim($i['fname']) == '') ? $i['id'] : $i['fname'];
$ph = (($i['pic1'] == '')&&($i['pic2'] == '')&&($i['pic3'] == '')) ? $w[111] : $w[112];
$age=abs(mysql2data($i['birthday'],1));
echo "<tr class=desc bgcolor=\"".$color."\" align=center><td><a href=\"view.php?l=".$l."&id=".$i['id']."\" class=desc>".$name."</a></td><td>".$wg[$i['gender']].&­­­quot;</td><td>".$age."</td><td>".$ph."</t­d­&­gt;</tr>";}
$tmp=mysql_query("SELECT count(id) as total FROM ".C_MYSQL_MEMBERS." WHERE status >= '7'") or die(mysql_error());
$rows=mysql_fetch_array($tmp);$usc=$rows['total'];?>
</table>

Est-ce quelqu'un aurait une idée sur l'erreur
Merci d'avance

--
http://diablesserencontre.com
Configuration: Windows XP
Firefox 2.0.0.14

6 réponses

  1. Bah avec un peu d'anglais : Unknown column 'id' = Colonne "id" inconnue = cette colonne n'existe pas
    1. Il y a une erreur dans ton tableau de données, vérifie si tu ne t'es pas trompé dans les noms des colonnes ;)
      1. lorsque je rajoute echo "Nombre lignes requette: ".mysql_num_rows($tmp);

        avant le mysql_fetch_array(...
        le message d'erreur suivant s'affiche:
        Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\www\diablesserencontre.com\htdocs\index.php on line 92

        et lorsque je rajoute le or die("Pb fetch array ".mysql_error()) en fin de ligne mysql_fetch_array(..
        le message d'erreur suivant s'affiche:
        Parse error: syntax error, unexpected '{' in D:\www\diablesserencontre.com\htdocs\index.php on line 92
        1. Bonjour alain,
          j'ai essayé de faire ce que tu ma proposer mais sans plus
          j'ai toujours le même type d'erreur qui apparaît aurait tu une idée d'ou sa pourrait provenir?
          merci
          1. Tu n'as pas d'autres erreurs avant ?

            essayes de rajouter:

            echo "Nombre lignes requette: ".mysql_num_rows($tmp);

            avant le mysql_fetch_array(...

            ou alors rajoutes le or die("Pb fetch array ".mysql_error()) en fin de ligne mysql_fetch_array(..
        2. Bonjour,

          petites remarques préliminaires:

          dans:

          <table width="100%" class=tr>
          <tr class=mes bgcolor="<?=COLORH?>" align=center><td><?=$w[118]?></td><td><?=$w[132]?></td­­­­><td><?=$w[120]?></td><td><?=$w[87]?></td></t­r­&­g­t;


          il faut toujours mettre les " dans les parametres des balises exemple class="tr" etc..
          ensuite mets <?php ?> au lieu de <? ?>
          et mets <?php echo $w['118']; ?>  au lieu de  <?=$w[118]?> etc....
          
          L'erreur n'est pas forcément dans la ligne mysql_fetch_array puisque c'est l'argument qui n'est pas bon, donc peut être que la connexion à la base n'est pas OK  ou la requette
          
          alors mets les traces d'erreur comme ça pour voir ou ça coince:
          
          mysql_connect(host,login,pass) or die ("pb connexion mysql ".mysql_error());
          mysql_select_db(database) or die ("pb selection base ".mysql_error());
          
          $tmp=mysql_query("SELECT id, fname, gender, birthday, pic1, pic2, pic3 FROM ".C_MYSQL_MEMBERS." WHERE status >= '7' ORDER BY regdate DESC LIMIT ".C_LASTREG."")or die ("pb requette ".mysql_error());


          @lain