gpt4 book ai didi

向数据库插入行时 MySQL 语法错误

转载 作者:行者123 更新时间:2023-11-29 16:28:51 24 4
gpt4 key购买 nike

我尝试使用 Express 表单中的数据将一行发布到 mysql 数据库中,但总是出现 SQL 语法错误

router.post('/add', function(req, res, next) {

var title = req.body['title'];
var director = req.body['director'];
var release = req.body['release'];
var review = req.body['review'];

connection.query("INSERT INTO films.filmStore (title, director, review, release) VALUES ('" + title.toString() + "', '" + director.toString() + "', '" + review.toString() + "', '" + release.toString() + "');", function(err, result){
if(err) throw err;
console.log("1 record inserted");
});

res.redirect('/');
});

但是我收到错误

throw err; // Rethrow non-MySQL errors
Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'release) VALUES ('Superman', 'Richard Donner', 'One of the best films of all tim' at line 1

我已经尝试了我能想到的所有方法,但我对 SQL 很陌生,无法弄清楚与我见过的其他示例有何不同。

最佳答案

release是mysql中的保留关键字。请参阅:https://dev.mysql.com/doc/refman/8.0/en/keywords.html

更改该列的名称或使用反引号:

"INSERT INTO films.filmStore (title, director, review, `release`) VALUES (..."

关于向数据库插入行时 MySQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54065023/

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