Warning: mysql_fetch_assoc() expects parameter 1

sarah177 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,
Mon code affiche l'erreur suivant:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in xx/public_html/xx/ajaxCode.php on line 5.

La ligne 5 correspond au code suivant:
$code = mysql_query("SELECT * FROM rah_codes WHERE code=".$_POST["idCode"]." and published=1"); 

Voici le code complet:

<?php 
mysql_connect("localhost","user","mdp");
mysql_select_db("bd");
$code = mysql_query("SELECT * FROM rah_codes WHERE code=".$_POST["idCode"]." and published=1");
$row = mysql_fetch_assoc($code);
if ($row){
echo '<div align=center>Bonjour ';
echo $row['nomag'];
echo '<br/>';
echo 'vous bénéficiez d\'une remise de 10%</div>';
?>
<input type="hidden" value="vrai" name="vrai" id="vrai">
<?php
}

else {
echo '<div align=center>Le code saisie est erroné</div>';
?>
<input type="hidden" value="faux" name="vrai" id="vrai">
<?php
}
?>

Merci

2 réponses

  1. sarah177 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci pour votre aide , problème résolu en mettant des quotes(') les chaînes de caractères passées à la requêtes.

    $code = mysql_query("SELECT * FROM rah_codes WHERE code='".$_POST["idCode"]."' and published=1");


    Encore merci
    0
    1. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      Accède à ta page en mettant
      ' OR 1 OR '
      en tant que paramètre (modifie ta form par ex), et voit le résultat... Ca s'appelle une injection SQL et c'est mortel, pour s'en protéger utilise mysql_real_escape_string sur tes paramères qui vont dans ta requête.
      0