表达式,Mssql插入到表的变量



我不能为上帝的爱弄清楚如何添加我的变量到MSSQL服务器

我什么都试过了。会有人这么善良,请给我答案,我怎么能把我的变量到我的数据库?

我想避免sql注入的可能性。

app.post('/addUser', addUser)
async function addUser(req, res) {
let pool;
const bodylength = req.body.length;
console.log(bodylength)
for (let index = 0; index < bodylength; index++) {
const id = req.body[index].id;
const first_name = req.body[index].first_name;
const last_name = req.body[index].last_name;
const active = switchToBool(req.body[index].active);

console.log(id, first_name, last_name, active)
try {
pool = await sql.connect(config);
const request = pool.request();
request.input('id', sql.Int, id)
request.input('first_name', sql.VarChar(50), first_name);
request.input('last_name', sql.VarChar(50), last_name);
request.input('active', sql.Bit, active);
request.query(`INSERT INTO test (Id, first_name, last_name, active) VALUES (id,first_name,last_name,active)`)
} catch (error) {
return res.status(500).send(error)
}
res.status(200)
}
}

我只是得到一个500或UnhandledPromiseRejectionWarning: RequestError:无效的列名'active'。

通常情况下,这应该可以满足您的需要:

...
request.query("INSERT INTO test (Id, first_name, last_name, active) VALUES ?", [id, first_name, last_name, active])
...

最新更新