我正在设置一个子域,用户可以在其中上传更新到数据库。
正确的数据从前端发送,API成功地连接到数据库,但仅限于此。我不明白为什么。
app.post('/newsupdate', (req, res) => {
let headline = req.body.headline;
let content = req.body.content;
let con = mysql.createConnection({
host: HOST,
user: USERNAME,
password: PASSWORD,
database: DATABASE
});
con.connect(function(err){
if(err) return res.json({
message: err
});
let sql = `INSERT INTO news (Headline, Content) VALUES (${headline}, &{content})`;
con.query(sql, function(err, result){
if(err) return res.json({message: err});
if(result){
res.json({
message: 'news update saved'
});
} else {
res.json({
message: 'problems happened'
});
}
})
})
})
如果您的查询(&{content}
(中有拼写错误,请尝试使用建议的准备语句:
let sql = `INSERT INTO news (Headline, Content) VALUES (?, ?)`;
con.query(sql, [headline, content], function (err, result) {
if (err) return res.json({ message: err });
if (result) {
res.json({
message: 'news update saved',
});
} else {
res.json({
message: 'problems happened',
});
}
});
您的语法拼写错误,只需更改为
let sql = `INSERT INTO news (Headline, Content) VALUES (${headline}, ${content})`;