Formulaire et requete SQL

Formulaire et requete SQL - PHP - Programmation

Marsh Posté le 21-11-2010 à 01:01:53    

Salut,
 
j'ai cherché sur pas mal de sites mais rien ne me permet de résoudre mon problème :
 
j'ai un formulaire assez classique avec les champs "instru2", "titre3", "prenom2" que je POST sur une page PHP,
 
je les transforme en variables :  
 

Code :
  1. $prenom2 = $_POST['prenom2'];
  2. $instru2 = $_POST['instru2'];
  3. $titre3 = $_POST['titre3'];


 
Puis je veux effectuer une requête en les utilisant:
 

Code :
  1. $sql10 ="UPDATE setlist SET '$instru2'="" WHERE titre='".$titre3."'";


Et ça ne marche pas :
 

Code :
  1. Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/171/sdb/5/d/improver/desinscr.php on line 33


 
Pourriez vous s'il vous plait m'indiquer l'erreur si vous la voyez? J'ai essayé toutes les combinaisons possibles sans succès...
 
je cherche également à faire une seconde requête du même type, légèrement plus complète et j'imagine qu'il y a la même problème :
 
les variables sont maintenant $instru et $titre2
 

Code :
  1. $select = "SELECT ".$instru." FROM setlist WHERE titre='".$titre2."'";
  2. $req = mysql_query($select);
  3. $data = mysql_fetch_array($req);
  4. $instrucheck = $data['".$instru."'];


 
mais la variable $instrucheck ne me renvoit rien alors que la table est renseignée... si là aussi vous voyez ce qui cloche, ce serait très aimable de me l'indiquer.
 
Bonne nuit!
 
Sylvain


Message édité par fade2black le 21-11-2010 à 01:03:29
Reply

Marsh Posté le 21-11-2010 à 01:01:53   

Reply

Marsh Posté le 21-11-2010 à 22:57:11    

Habituellement les "Parse error" sont faciles à débugguer. Il suffit d'afficher la chaine, avec un print($sql10);, pour voir quelle requête SQL on essaye de faire tourner.

Code :
  1. $sql10 ="UPDATE setlist SET '$instru2'="" WHERE titre='".$titre3."'";


Ici, je ne comprends pas pourquoi avoir mis des apostrophes autour de $instru2. Et il y a aussi un problème avec les guillemets. Essayer :

Code :
  1. $sql10 ="UPDATE setlist SET $instru2='' WHERE titre='".$titre3."'";


Message édité par billgatesanonym le 21-11-2010 à 22:58:41
Reply

Marsh Posté le 22-11-2010 à 08:27:00    

euh, t'es sûr de ce que tu fais, là? Tu passes des noms des champs dans ta table par POST, pas des valeurs?[:pingouino dei]
...et pas d'échappement de tout ça?[:pingouino dei]


Message édité par skeye le 22-11-2010 à 08:27:39

---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed