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. 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
    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. 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. 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. Bah avec un peu d'anglais : Unknown column 'id' = Colonne "id" inconnue = cette colonne n'existe pas