Requête SQL avec Variables

pastoque -  
 pastoque -
Bonjour,
Voici ma requète SQL:
$k=$_POST['pseudo'];
$reponse=mysql_query("SELECT * FROM Cours WHERE IDProf='" . $k . "' ") or die(mysql_error());

ça ne fonctionne pas.
On ne me renvoie pas d'erreurs mais pas la ligne souhaitée.

Par contre, en remplacant la variable par sa valeur. ça marche.
et en faisant echo $k la bonne valeur s'affiche.

Merci par avance.

4 réponses

  1. Leviathan49 Messages postés 267 Statut Membre 70
     
    Mhh à première vue tout va bien...
    Affiche ta requête avant de l'écuter au cas où.
    $k=$_POST['pseudo']; 
    $query="SELECT * FROM Cours WHERE IDProf='".$k."'";
    echo $query;
    $reponse=mysql_query($query) or die(mysql_error());  
    
    0
    1. pastoque
       
      ça ne fonctionne pas.
      rien ne s'affiche.
      0
    2. pastoque
       
      bonjour,

      J'ai fait tout ça:
      une boucle while comme vous l'avez écrite et les lignes à l'intérieur de la boucle ne sont pas traitées.
      0
  2. le père
     
    Bonjour

    On ne me renvoie pas d'erreurs mais pas la ligne souhaitée.
    Comment fais-tu pour voir la ligne souhaitée ? Parce que si tu fais echo $reponse, c'est normal. Il faut extraire les lignes de la réponse avec quelque chose du genre :

    while ($ligne=mysql_fetch_array($reponse)) {
    ... traitement, ta ligne est dans $ligne
    }
    0
  3. pastoque
     
    voici mon programme.
    IL fonctionne maintenant mais j'ai abandonné l'identifiant texte.
    Avec un Type INT pour l'attribut de La BDD ça fonctionne mais TEXT non.
    Ici identifiantprof est INT.

    <?php
    $ID=$_GET['ID'];

    $k=$_GET['pseudo'];

    if ( isset($_POST['pseudo']))
    {

    $k=$_POST['pseudo'];
    }
    if ( isset($_POST['$ID']))
    {

    $ID=$_POST['$ID'];
    }
    echo" Bienvenue "; echo"$k";
    $m=4;
    $m=$m+1;
    echo $m;

    if ( isset($_POST['numérocoupon']) )
    {

    $coupon=$_POST['numérocoupon'];
    echo"$coupon";

    mysql_connect("localhost", "", "");
    mysql_select_db("");

    $requete = "SELECT * FROM Cours WHERE identifiantprof='".$ID."' ";

    $reponse = mysql_query($requete);

    if ($reponse)
    {
    while ($row = mysql_fetch_array($reponse))
    {
    echo $row['IDProf'];

    $m=$m+1;
    $p=$row['ID'];
    $n=$row['SalaireNet'];
    echo "$p";
    echo "$n";
    echo "Le prof a des cours";
    /* on va chercher dans la table Coupon les coupons dont les numéros de cours sont ceux auxquels ont accés les profs*/
    $reponse2=mysql_query("SELECT * FROM Coupon WHERE IDCours='" . $p . "' ");

    while ($donnees2 =mysql_fetch_array($reponse2))
    {
    if ($donnees2['IDC']==$coupon)
    {

    $m=1;

    echo"c'est bien un de vos coupons";
    ?> <br>
    <?php
    if ($donnees2['Etat']==0)
    {

    echo"il a jamais été enregistré donc vous devriez pouvoir etre payé";

    mysql_query("UPDATE Coupon SET Etat = '1' WHERE IDC ='" . $coupon . "' LIMIT 1");

    }
    else
    {
    echo"ce coupon existe mais a déja été enregistré";

    }

    }
    }
    }
    }
    else
    {
    echo mysql_error();
    }

    if ($m==0)
    {
    echo" Ce coupon existe pas ";
    }
    elseif ($m==1)
    {
    echo"c'est bien ";
    }
    else
    {
    echo "il y a plusieurs coupons avec un même numéro";
    }
    include("formulairesaisiecoupons.php");
    }

    else
    {

    include("formulairesaisiecoupons.php");

    }

    ?>
    0