Problème mysql_fetch_array

manu_dog Messages postés 536 Statut Membre -  
manu_dog Messages postés 536 Statut Membre -
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."</td­&­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

3 réponses

  1. BartLogan
     
    Bonjour ManuDog,

    Remplacer la fonction "mysql_fetch_array()" par la fonction "mysql_fetch_assoc()" doit solutionner votre problème.
    "mysql_fetch_array()" renvoie un tableau indicé de 0 à n duquel vous devez utiliser la syntaxe "$i[0]" pour extraire la valeur du premier champ, alors que "mysql_fetch_assoc()" renvoie un tableau associatif duquel vous pouvez extraire les valeurs en utilisant la syntaxe "$i['monPremierChamp']".

    En espérant vous avoir aidé.

    Cordialement,
    BartLogan.
    0
  2. manu_dog Messages postés 536 Statut Membre 42
     
    salut BartLogan
    ça me met exactement le même problème en changement se que tu m'as proposer
    est-ce que sa pourrait venir de mon tableau qui aurai une erreur?
    merci
    0
    1. BartLogan
       
      Vraisemblablement, il manque le script de connection à la base de données MySQL.
      Essayez d'adapter ce code à vos besoins :

      <?php
      // on se connecte à MySQL
      $db = mysql_connect('localhost', 'login', 'password');

      // on sélectionne la base
      mysql_select_db('nom_de_la_base',$db);

      // on crée la requête SQL
      $sql = 'SELECT nom,prenom,statut,date FROM famille_tbl';

      // on envoie la requête
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

      // on fait une boucle qui va faire un tour pour chaque enregistrement
      while($data = mysql_fetch_assoc($req))
      {
      // on affiche les informations de l'enregistrement en cours
      echo '<b>'.$data['nom'].' '.$data['prenom'].'</b> ('.$data['statut'].')';
      echo ' <i>date de naissance : '.$data['date'].'</i><br>';
      }

      // on ferme la connexion à mysql
      mysql_close();
      ?>

      Source extraite du site à 'URL suivante : http://www.phpdebutant.org/article66.php
      0
  3. manu_dog Messages postés 536 Statut Membre 42
     
    merci pour le site
    jvait voir ça
    merci pour ton coup de main
    jte tient au courant
    0