SQL cherche le parametre envoyé comme colonne

Résolu
pandageek Messages postés 379 Statut Membre -  
pandageek Messages postés 379 Statut Membre -
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.

A voir également:

1 réponse

flokocha Messages postés 1519 Statut Membre 281
 
Ton $_POST['nom'] étant une chaîne, il devrait être placé entre guillemets dans ta requête.
0
pandageek Messages postés 379 Statut Membre 4
 
merci ;)
0