首页 > 解决方案 > mysql问题节点js可以插入

问题描述

嗨,你能帮我看看我的代码吗?我想添加一些数据,但总是出错。这是我的代码:

    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

非常感谢你的帮助

标签: mysqlnode.jsexpress

解决方案


您的陈述不完整,并且缺少您提到的其他两列的占位符。原始 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 对象看起来是正确的。假设没有我没有捕捉到的其他错误,插入应该在进行此更改后工作。


推荐阅读