我正在查询我的数据库以更新值,然而,我总是在nodejs中遇到这个错误。当我从命令行执行时,查询可以工作,但是从javascript代码中,它以同样的方式失败,列"value“不存在。
client.query("UPDATE chore_list SET " + req.body.choseday.toLowerCase() + "=" + req.user.email + " WHERE chore ='" + req.params.chorename + "'")在终端中,我用单引号将最后一个参数括起来,它可以工作,但是,在上面的nodejs代码中,错误仍然出现。
错误:"test“列不存在
发布于 2019-09-28 10:59:34
尝试执行以下操作(请注意赋值前后的附加引号):
let userEmail = req.user.email.replace(/'/g, "''");
client.query(
"UPDATE chore_list
SET " + req.body.choseday.toLowerCase() + " = '" + userEmail + "'
WHERE chore ='" + req.params.chorename + "'"
);SQL :我还添加了单引号的替换(用两个单引号),以防止您的(可能)不安全的值中断字符串。
https://stackoverflow.com/questions/58142731
复制相似问题