nodejs mysql插入问题

时间:2014-03-25 23:45:20

标签: mysql node.js express

exports.adduser = function(connection) {
    return function(req, res) {

        // get form values
        var username = req.body.username;
        var firstname = req.body.firstname;
        var lastname = req.body.lastname;

        var post = {
            username : username,
            firstname : firstname,
            lastname : lastname
        };

        connection.query('INSERT INTO myDatabase VALUES ?', post, function(err, result) {
            if (err) {
                res.send("There was a problem adding the information to the database.");
            }
        });
    }
}

这似乎不起作用。有没有人看到任何明显的问题?语法是否正确?当我按下表单上的提交按钮时,它只是挂起,插入永远不会发生。我已经确认表单获得了正确的值。数据库表中的字段是username,firstname和lastname。

1 个答案:

答案 0 :(得分:9)

你误读了手册!如果您使用INSERT INTO对象,则需要使用SET

INSERT INTO myDatabase SET ?

Quoting:

  

如果你注意了,你可能已经注意到这种逃避可以让你做这样的好事:

var post  = {id: 1, title: 'Hello MySQL'};
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {
  // Neat!
});
console.log(query.sql); // INSERT INTO posts SET `id` = 1, `title` = 'Hello MySQL'