Comment saisir un NodeJS variable dans une requête SQL
Je veux écrire une requête SQL qui contient un NodeJS variable. Quand je fais cela, il me donne une erreur de 'undefined'.
Je veux la requête SQL ci-dessous pour reconnaître la flightNo
variable. Comment un NodeJS variable d'entrée dans une requête SQL? Est-il besoin de caractères spéciaux autour d'elle $
ou ?
.
app.get("/arrivals/:flightNo?", cors(), function(req,res){
var flightNo = req.params.flightNo;
connection.query("SELECT * FROM arrivals WHERE flight = 'flightNo'", function(err, rows, fields) {
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin de mettre de la valeur de la variable dans l'instruction SQL.
Ce n'est pas bon:
Cela va fonctionner, mais il n'est pas sûr d'attaques par injection SQL:
Pour être à l'abri de l'injection SQL, vous pouvez échapper à votre valeur comme ceci:
Mais la meilleure façon est avec le paramètre de substitution:
Si vous avez plusieurs substitutions de fabriquer, d'utiliser un tableau:
connection.query('INSERT INTO table VALUES (?)', flightNo, function(err, result) { });
Si vous utilisez > ES6 :
Si vous < ES6 :
Veuillez noter que c'est une TRÈS MAUVAISE pratique que vous serez vulnérable à des attaques par injection SQL.