Javascript 来自节点Js的MySql插入错误
我有一个MySQL表,如下所示:Javascript 来自节点Js的MySql插入错误,javascript,node.js,Javascript,Node.js,我有一个MySQL表,如下所示: var query = connection.query('INSERT INTO `order` SET ?', data, function(err,rows) { if (err) console.log("Error inserting : %s ",err ); res.render('createorder', {title :"Order Created Successfully"}); }); 下面是我尝试将
var query = connection.query('INSERT INTO `order` SET ?', data, function(err,rows) {
if (err)
console.log("Error inserting : %s ",err );
res.render('createorder', {title :"Order Created Successfully"});
});
下面是我尝试将数据插入mysql表的代码:
var data = {
id : 1,
custname : input.custname,
custemail : input.custemail,
ordertype : input.ordertype,
noorder : input.noorder,
orderdate : input.orderdate
};
var query = connection.query('INSERT INTO order SET ?', data, function(err,rows) {
if (err)
console.log("Error inserting : %s ",err );
res.render('createorder', {title :"Order Created Successfully"});
});
但是给了我以下的错误:
INSERT INTO order SET `id` = 1, `custname` = 's', `custemail` = 's@gmail.com', `ordertype` = 'Chalbhaja', `noorder` = 2, `orderdate` = '2015-07-24T16:07:58.684Z'
Error inserting : Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order SET `id` = 1, `custname` = 's', `custemail` = 's@gmail.com', `ordertype` =' at line 1
在MySQL中,
order
word是一个关键字。但是,可以有一个名为order
的表。您只需在查询中转义它,如下所示:
var query = connection.query('INSERT INTO `order` SET ?', data, function(err,rows) {
if (err)
console.log("Error inserting : %s ",err );
res.render('createorder', {title :"Order Created Successfully"});
});
看起来您的节点正在使用mysql。您可能应该在mysql查询中单独设置每一列,即custname=?。我从未尝试过用这种方式使用这个库,我看到了很多这样的例子。但它不适用于mecan you console.log(query.sql)并手动运行该sql?