Php/mysql insertion de $_POST dans requete...
Résolu
steph6499
-
steph6499 -
steph6499 -
Bonjour,
Je souhaite insérer la variable ci-dessus dans une requête mais malgré un grand nombre de tentative de position de guillemets, cela me renvoie l'erreur :
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' motdepasse ='dsvgsfbd'' at line 1
Ma requête :
$reponse = $bdd->query("SELECT * FROM identifiants WHERE identifiant ='".$_POST["nom"]."', motdepasse ='".$_POST["mdp"]."'");
Où est mon erreur?
Merci d'avance pour vos réponses.
Steph
Je souhaite insérer la variable ci-dessus dans une requête mais malgré un grand nombre de tentative de position de guillemets, cela me renvoie l'erreur :
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' motdepasse ='dsvgsfbd'' at line 1
Ma requête :
$reponse = $bdd->query("SELECT * FROM identifiants WHERE identifiant ='".$_POST["nom"]."', motdepasse ='".$_POST["mdp"]."'");
Où est mon erreur?
Merci d'avance pour vos réponses.
Steph
4 réponses
Protege tes variables contre des injections Sql
$nom=mysql_real_escape_string($_POST["nom"]);
$mdp=mysql_real_escape_string($_POST["mdp"]);
//remplace la virgule par AND
$reponse = $bdd->query("SELECT * FROM identifiants WHERE identifiant =\"$nom\" AND motdepasse =\"$mdp\"");
$nom=mysql_real_escape_string($_POST["nom"]);
$mdp=mysql_real_escape_string($_POST["mdp"]);
//remplace la virgule par AND
$reponse = $bdd->query("SELECT * FROM identifiants WHERE identifiant =\"$nom\" AND motdepasse =\"$mdp\"");
Merci beaucoup ! Rapide et efficace.
Je voudrais quand meme bien comprendre mon erreur :
- le fait de ne pas sécuriser mes données n'est pas une bonne idée, mais ce n'est pas çà qui génère mon erreur. Si?
- ou ce sont mes guillemets qui posaient probleme?
- enfin, le AND est-il nécessaire? La virgule ne suffisait pas?
Merci de m'éclairer un peu plus
Je voudrais quand meme bien comprendre mon erreur :
- le fait de ne pas sécuriser mes données n'est pas une bonne idée, mais ce n'est pas çà qui génère mon erreur. Si?
- ou ce sont mes guillemets qui posaient probleme?
- enfin, le AND est-il nécessaire? La virgule ne suffisait pas?
Merci de m'éclairer un peu plus