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

      }

      ?>