首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >INSERT INTO失败,返回node-mysql

INSERT INTO失败,返回node-mysql
EN

Stack Overflow用户
提问于 2014-02-14 20:32:02
回答 3查看 80.9K关注 0票数 23

我正在尝试用node.js插入一些数据。我已经编写了以下代码,并通过npm安装了MySQL支持,但我无法INSERT INTO表。

下面是我的代码:

代码语言:javascript
复制
var mysql = require('mysql');

function BD() {
    var connection = mysql.createConnection({
        user: 'root',
        password: '',
        host: 'localhost',
        port: 3306,
        database: 'nodejs'
    });
    return connection;
}

app.post("/user/create", function(req, res) {
    var objBD = BD();

    var post = {
        username: req.body.username,
        password: req.body.password
    };

    objBD.query('INSERT INTO users VALUES ?', post, function(error) {
        if (error) {
            console.log(error.message);
        } else {
            console.log('success');    
        }
    });
});

HTML代码:

代码语言:javascript
复制
<form action="/user/create" method="POST" class="form-horizontal">
     <input type="text" id="username_input" name="username">
     <input type="text" id="password_input" name="password">
     <input type="submit" name="Submit" value="Insert" class="btn">
</form>

错误消息为:

您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,以了解要使用的正确语法。‘username’= 'Test‘,'password’= 'test‘

我的错误是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-14 20:44:33

注意documentation of node-mysql

如果你注意到了,你可能已经注意到这个转义允许你做类似这样的事情:

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‘

请注意,它们使用SET而不是VALUESINSERT INTO ... SET x = y是有效的MySQL查询,而INSERT INTO ... VALUES x = y不是。

票数 67
EN

Stack Overflow用户

发布于 2016-10-24 03:32:09

我知道这是一个古老的帖子,但我想分享一下,INSERT INTO...VALUES是一个有效的命令(没有设置),对于批量更新非常有用:

代码语言:javascript
复制
db.query('INSERT INTO myTable (field1, field2, field3) VALUES ?', [values])

其中,values是一个数组数组,每个数组包含这三个字段,并作为记录插入到表中。

票数 16
EN

Stack Overflow用户

发布于 2017-02-20 09:10:50

对于其他搜索,我遇到了同样的问题,但事实证明这是一个更复杂、无关的问题。我并没有在文档的最上面声明'use strict';

我知道这本身不会解决数据库插入问题,但它指出了我整个脚本中不正确编码的部分,一旦修复了这些问题,它就能按预期工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21779528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档