INSERT INTO查询无法在Express.js中运行

时间:2016-10-19 15:33:18

标签: javascript mysql node.js express

我在将数据插入MySQL数据库时遇到问题。选择查询工作正常,所以我假设它是一些愚蠢的东西,我已经错过了,无论是在Express代码中,还是在我的HTML中。我运行查询的页面位于localhost:8080/add,我正在尝试INSERT INTO。这是我的代码:

的Javascript

app.get('/add', function(req, res) {
    res.sendFile(path.join(__dirname + '/Views/add.htm'));
});

app.post('/add', function(req, res) {
    var fName = req.body.fName;
    var email = req.body.email;
    var id = req.body.id;
    var post = {id: id, user: fName, email: email};
    console.log(post);//This holds the correct data

    connection.query('INSERT INTO user VALUES ?', post, function(err, result) {
        if (!err) {
            console.log('Successfully added information.');
        } else {
            console.log('Was not able to add information to database.');
        }
    });
});

我的HTML只是一个提交按钮和3个输入字段,位于POST方法表单中。再一次,我可以连接到数据库并使用select查询从中读取,我只是无法插入它。

1 个答案:

答案 0 :(得分:0)

请查看此处的文档 https://github.com/mysqljs/mysql#escaping-query-values

connection.query('INSERT INTO posts SET ?', post, function(err, result) {
        if (!err) {
            console.log('Successfully added information.');
        } else {
            console.log(result);
            console.log('Was not able to add information to database.');
        }
});

有效的mysql语句是SET而不是Values