Requête SQL avec Variables

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. 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");

    }

    ?>
    1. 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
      }
      1. 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());  
        
        1. ça ne fonctionne pas.
          rien ne s'affiche.
        2. 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.