gpt4 book ai didi

mysql转义字符串 Node js`

转载 作者:行者123 更新时间:2023-11-29 09:59:11 25 4
gpt4 key购买 nike

所以我使用 Node js,我有以下 mysql 查询,我使用 npm mysql 库来处理查询。

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

是新的es6语法自动防止mysql注入(inject)。因为当我这样做时

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);
}
}
);

关于mysql转义字符串 Node js`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com