下面是我在ExpressJS中的MYSQL中插入数据的代码。
router.post('/user', function (req, res) {
let sql = "INSERT INTO Member (id, Memb_ID, First_Name, Middle_Name, Last_Name, Address, url) VALUES (null, '" + req.body.Memb_ID + "', '" + req.body.First_Name + "', '" + req.body.Middle_Name + "', '" + req.body.Last_Name + "', '" + req.body.Address + "', '" + req.body.url + "')";
myDB.query(sql, function (err, results) {
if (err) throw err;
res.send({
Success: "Data inserted."
})
});
});
它将数据插入到我的数据库中,但是我的数据库看起来像这样
答案 0 :(得分:0)
您可以确保完成以下操作吗?
请求中的content-type
标头必须为application/json
使用body-parser(或类似的库)来解析JSON负载->您可以打印req.body进行验证。
如果您可以确认这些值是可访问的,那么我建议按照https://github.com/mysqljs/mysql#escaping-query-values(或您使用的任何mysql库)中的描述转义查询值-特别是因为它是DML查询。 / p>
(我还假定查询中使用的字段名与数据库中的字段名匹配,并且具有正确的数据类型。)
答案 1 :(得分:0)