我被告知我的查询可能有SQL注入的风险,所以我试图改变它们。然而,现在每当我收到请求时,我都会得到一个错误,说明没有参数$1。如有任何帮助,我将不胜感激。
app.get('/users', async(req, res) => {
try {
const {id} = req.params;
console.log(id)
const user = await Query(`SELECT * FROM client where id = $1`, id)
console.log("error ",user)
res.json(user[0])
} catch(err) {
console.log(err);
}
});
错误:没有参数$1
您的console.log(id)
打印undefined
吗?看起来您正在从URL的路径参数中获取id,但是您的路径似乎没有任何参数。尝试添加:id
到您的路径
。
app.get('/users/:id', async(req, res) => {
try {
const {id} = req.params;
console.log(id)
const user = await Query(`SELECT * FROM client where id = $1`, id)
console.log("error ",user)
res.json(user[0])
} catch(err) {
console.log(err);
}
});
然后调用它,例如GET/users/1
,以获取ID为1的用户。