嗨,您能帮我提供我的代码吗?我想添加一些数据,但是我一直都出错。这是我的代码:
var insert_data="INSERT INTO dd_on_call (on_call_start, on_call_end, name) VALUES ? ";
var test={
datepicker_from:datepicker_from,
datepicker_to:datepicker_to,
hotline_user:hotline_user
};
get_sql_data(sql_data, function(err, content) {
if (err) {
console.log(err);
res.send(err);
// Do something with your error...
}
else {
sql_data = content;
console.log(sql_data);
console.log(test);
connection.query(insert_data, test, function(err, result) {
if(err) throw err;
res.render('dd_on_call.ejs',{sql_data:sql_data});
});
};
});
每次出现此错误:
[ [ '07 September 18', '14 September 18', 'Ugo' ],
[ '14 September 18', '21 September 18', 'Erich' ] ]
{ datepicker_from: '2018-09-12 12:00:00',
datepicker_to: '2018-09-17 12:00:00',
hotline_user: 'Christian' }
/home/ubuntu/workspace/Project 1/node_modules/mysql/lib/protocol/Parser.js:80
throw err; // Rethrow non-MySQL errors
^
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 '`datepicker_from` = '2018-09-12 12:00:00', `datepicker_to` = '2018-09-17 12:00:0' at line 1
非常感谢您的帮助
答案 0 :(得分:0)
您的声明不完整,并且缺少您提到的其他两列的占位符。原始的MySQL查询应如下所示:
INSERT INTO dd_on_call (on_call_start, on_call_end, name)
VALUES (?, ?, ?);
并且JS代码应遵循以下原则:
var insert_data = "INSERT INTO dd_on_call (on_call_start, on_call_end, name) VALUES (?, ?, ?)";
您用来将值绑定到占位符的test
JSON对象看起来正确。进行此更改后,假设没有其他我没有发现的错误,插入应该可以正常工作。