erreur fetch_assoc
Bonjour, j'ai un message d'erreur à l'execution :
Warning: mysql_fetch_assoc(): 4 is not a valid MySQL result resource in ...
4 est un type d'erreur ou la valeur renvoyée par fetch_assoc?
le 24/02/2005 à 13:47
Rex
D'où vient ton paramètre que tu passes à mysql_fetch_assoc ?
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
guns17, fait un or die mysql_error sur ton mysql_query.
le 24/02/2005 à 14:27
Bzh
Pkoi ils le fond jamais !!!
C' est vrai ça....
C' est tellement pratique et même complètement inévitable !!!!
Quitte, à l' enlevé après pour la sécurité...
Afin de ne pas faciliter la tache a celui qui tente des injections !!!
Ciao...
voici le debut de mon code :
mysql_select_db($database_conn_teissa, $conn_teissa);
$query_rs_listeDistrib = "SELECT ID, enseigne, nom, prenom, ville, codePostal FROM distributeur ORDER BY enseigne ASC";
$rs_listeDistrib = mysql_query($query_rs_listeDistrib, $conn_teissa) or die(mysql_error());
$row_rs_listeDistrib = mysql_fetch_assoc($rs_listeDistrib);
et l'endroi où se produit l'erreur :
<?php do{ ...instruction...
while ($row_rs_listeDistrib == mysql_fetch_assoc($rs_listeDistrib)) ?>
le 24/02/2005 à 15:16
Rex
Tu dois TRES certainement affecter ta variable $rs_listeDistrib dans ta boucle.
Du genre :
<?php
if( $rs_listeDistrib = 4 ) ...
?>
On oublie parfois le double égale ce qui se transforme en une affectation :-)
Bzh >
Le "or die" n'est pas obligatoire si on fait ceci :
Comment simplifier le traitement des erreurs ?
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
je ne touche pas à la variable $rs_listeDistrib.
voici la totalité de la boucle :
<?php do { ?><tr>
<td><a href="tables_modif_distrib.php?ID=<?php echo $row_rs_listeDistrib['ID']; ?>"><?php echo $row_rs_listeDistrib['enseigne']; ?></a></td>
<td><?php echo $row_rs_listeDistrib['nom']; ?></td>
<td><?php echo $row_rs_listeDistrib['prenom']; ?></td>
<td><?php echo $row_rs_listeDistrib['codePostal']; ?></td>
<td><?php echo $row_rs_listeDistrib['ville']; ?></td>
<td><?php $query = "SELECT nom FROM region WHERE ID = ".$row_rs_listeDistrib['region'];
$result = mysql_query($query, $conn_teissa);
$reg = mysql_fetch_assoc($result);
echo $reg['nom']; ?></td>
</tr>
<?php } while ($row_rs_listeDistrib == mysql_fetch_assoc($rs_listeDistrib)); ?>
je ne fais que comparer les 2 tableaux
c'est bon j'ai trouvé il y avait un :
mysql_free_result($rs_listeDistrib);
qui trainait!
la prise de tête!!
merci pour l'aide.
le 24/02/2005 à 16:24
Rex
Houlaaaa .... ATTENTION !!
Tu fais une requête dans une boucle, c'est extrêmement gourmand en performance et peut être simplement remplacé par une jointure.
Lis mon article ici :
Select : Jointures
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
d'ailleurs ma boucle ne m'affiche qu'un enregistrement!