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。
答案 0 :(得分:9)
你误读了手册!如果您使用INSERT INTO
对象,则需要使用SET
:
INSERT INTO myDatabase SET ?
如果你注意了,你可能已经注意到这种逃避可以让你做这样的好事:
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'