簡體   English   中英

mysql轉義字符串節點js`

[英]mysql escaping string node js`

所以我正在使用節點js,我使用npm mysql庫來處理以下mysql查詢消息,以處理查詢。

let userName = req.body.userName;   
let sqlStatement = `SELECT COUNT(*) AS exist FROM user where username=${userName}`;

是新的es6語法自動阻止mysql注入。 因為當我這樣做

let userName = req.body.userName;   
userName = connection.escape(userName);
let sqlStatement = `SELECT COUNT(*) AS exist FROM user where username=${userName}`;

它將單引號放在數據庫中的數據周圍,例如“ myUserName”。 有人知道為什么是這樣嗎? 或者新語法自動阻止了它。

使用[]語法轉義數據,如下所示

result = await database.query(
        "INSERT INTO user SET ?",
        [req.body],
        function(error, result) {
          if (!error) {
            console.log("worked");
          } else {
            console.log(error);
          }
        }
      );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM