mysql - Node.js MySQL 插入问题

标签 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.");
            }
        });
    }
}

这似乎行不通。有什么突出的问题吗?语法是否正确?当我按下表单上的提交按钮时,它只是挂起,并且永远不会发生插入。我已经确认该表单获得了正确的值。数据库表中的字段是用户名、名字和姓氏。

最佳答案

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

INSERT INTO myDatabase SET ?

Quoting:

If you paid attention, you may have noticed that this escaping allows you to do neat things like this:

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'

关于mysql - Node.js MySQL 插入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22648667/

相关文章:

node.js - 每当主机关闭时 MongoDB 就会删除

javascript - 全局变量范围在 Node.js 控制台中无法识别

javascript - promisifyAll 是如何工作的,或者它的工作要求是什么?

node.js - 在 Express/Node 应用程序中比较/实现 `app.use(cors(corsOptions));` 和 `app.options(' *', cors(corsOptions));`

JAVA 编程复选框到 MySQL

mysql - 在 MySql 表上进行全文搜索(Innodb 与 ISAM)

node.js - 如何使用 Seneca 和 Express 发送响应

javascript - 带有 Express 和 Handlebars 的 NodeJs -handlebars.engine 未定义

mysql - mysql 有路径分隔符功能吗?

mysql - 用专业数据库替换核心数据以提高性能