我想写一个包含NodeJS变量的SQL查询。当我这样做的时候,它给了我一个“未定义”的错误。
我希望下面的SQL查询能够识别flightNo
变量。如何将NodeJS变量输入到SQL查询中?它周围是否需要特殊字符,如$
或?
。
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) {
2条答案
按热度按时间9gm1akwq1#
您需要将变量的值放入SQL语句中。
这是不好的:
这将工作,但它不安全的SQL注入攻击:
为了避免SQL注入,你可以像这样转义你的值:
但最好的方法是使用参数替换:
如果要进行多个替换,请使用数组:
q0qdq0h22#
在ES6中,你可以使用
${expression}
的模板文字。Template literals是用反勾(`)字符分隔的文字,允许使用多行字符串和表达式插值。
像这样使用: