INSERT INTO失败,出现node-mysql

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

这是我的代码:

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代码:

<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服务器版本相对应的手册,以在第1行附近使用正确的语法。’username’=’Test’,’password’=’test’

我怎么了

回答:

请注意以下文档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不是。

以上是 INSERT INTO失败,出现node-mysql 的全部内容, 来源链接: utcz.com/qa/414974.html

回到顶部