Forumulaire et requete SQL

sylvainhours
Invité n'ayant pas de compte PHPfrance

21 nov. 2010, 12:09

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 :
$prenom2 = $_POST['prenom2'];
$instru2 = $_POST['instru2'];
$titre3 = $_POST['titre3'];


Puis je veux effectuer une requête en les utilisant:
$sql10 ="UPDATE setlist SET '$instru2'="" WHERE titre='".$titre3."'";
Et ça ne marche pas :
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

$select = "SELECT ".$instru." FROM setlist WHERE titre='".$titre2."'";
$req = mysql_query($select);
$data = mysql_fetch_array($req);
$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

hal777
Invité n'ayant pas de compte PHPfrance

21 nov. 2010, 20:04

Salut Ta question est bizarre !

que contiennent les valeurs de ton POST ?
Des noms de champs ou des valeurs à stocker dans un champs de la dababase ?

devlop78
Invité n'ayant pas de compte PHPfrance

22 nov. 2010, 01:27

Pour la première question, je n'ai pas regardé à quoi correspond le message d'erreur (mais tu peux le faire), tout ce que j'ai vu c'est l'absence de caractère de concaténation ... ce qui provoque effectivement une erreur.

Pour le deuxieme, je suis déjà étonné qu'il ne mette pas d'erreur ... c'est quoi ça $machin["'.$var.'"] ???

Petit nouveau ! | 2 Messages

28 nov. 2010, 08:01

$sql10 ="UPDATE setlist SET '$instru2'="" WHERE titre='".$titre3."'";
Il y a une erreur dans ta query...
Petit rappel sur les "" & ''
on peut faire :
echo "Salut mon nom c'est paul"; //Note le ' dans c'est
mais ne peut pas faire
echo "Super "paul" est beau"; //Note les " -> erreur (il faudrait les escapé (\"))
aussi je rappel que $instru2 est le nom de la colonne que tu veux modifier, ça ne prend pas les ' '
donc ta query :
$sql10 ="UPDATE setlist SET $instru2='' WHERE titre='".$titre3."'";
PS : Je te conseillerais plus de passé par les ID en tant que référence aux données que tu tentes de modifier... Parce qu'une string ça peut paraître différents pour tout et c'est beaucoup plus variable lorsqu'on tente de comparé... alors qu'un chiffre, c'est un chiffre !
Mais bon, c'est toi qui voit !