SQL cherche le parametre envoyé comme colonne

Résolu/Fermé
pandageek Messages postés 359 Date d'inscription samedi 6 août 2011 Statut Membre Dernière intervention 27 mai 2014 - Modifié par pandageek le 14/08/2012 à 00:03
pandageek Messages postés 359 Date d'inscription samedi 6 août 2011 Statut Membre Dernière intervention 27 mai 2014 - 14 août 2012 à 01:05
Bonjour,
sur un site internet, avec ce code, qui reçoit le formulaire d'inscription :
$user = ('SELECT * FROM users WHERE nom = ' . htmlspecialchars($_POST['nom']) . ';'); 
 $query = $BDD->query($user) or die(print_r("Erreur lors de la requête"));

si $_POST['nom'] contient "bidul", je reçoit comme sympathique erreur :
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'bidul' in 'where clause


quelqu'un sait pourquoi SQL cherche la colonne qui a pour nom le contenu de $_POST['nom']?
si je met
$user = ('SELECT * FROM users WHERE nom = bidul;'); 


je n'ai plus l'erreur fatal.

1 réponse

flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 281
14 août 2012 à 00:51
Ton $_POST['nom'] étant une chaîne, il devrait être placé entre guillemets dans ta requête.
0
pandageek Messages postés 359 Date d'inscription samedi 6 août 2011 Statut Membre Dernière intervention 27 mai 2014 4
14 août 2012 à 01:05
merci ;)
0