Problème mysql_fetch_array
manu_dog
Messages postés
518
Date d'inscription
Statut
Membre
Dernière intervention
-
manu_dog Messages postés 518 Date d'inscription Statut Membre Dernière intervention -
manu_dog Messages postés 518 Date d'inscription Statut Membre Dernière intervention -
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>
<?$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']]."</td><td>".$age."</td><td>".$ph."</td></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
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>
<?$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']]."</td><td>".$age."</td><td>".$ph."</td></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
3 réponses
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.
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.
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
ç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
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
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