【问题标题】:MYSQL Node IssueMYSQL 节点问题
【发布时间】:2019-08-08 10:15:12
【问题描述】:

运行下面的代码会抛出一个 MYSQL 错误,我检查了语法,它似乎是正确的,但不确定为什么会抛出错误。

app.post('/:roomname/create',function(request, response){
let roomID =  ""+request.params.roomname+"";
console.log(roomID);
let insertRoom = "INSERT INTO chatrooms (roomname) VALUES (?)";


conn.query(insertRoom,[roomID], function(error, result) {
  if (err) throw err;
console.log("1 record inserted");
});

错误:

node_modules/mysql/lib/protocol/Parser.js:80
    throw err; // Rethrow non-MySQL errors
    ^

ReferenceError: 错误未定义

【问题讨论】:

  • 你能发布实际使用的 JavaScript 吗?
  • "INSERT INTO room (roomname) VALUES ('"+roomID+"')";。在变量周围加上单引号
  • 新代码发布@MattPengelly

标签: javascript mysql node.js web


【解决方案1】:

你的处理错误名和回调错误名不一样! 您必须在回调和处理块中定义相同的错误名称。 请检查使用此片段。使用此片段后,如果发生任何错误,请在评论中告诉我。

app.post('/:roomname/create',function(request, response){
let roomID =  ""+request.params.roomname+"";
console.log(roomID);
let insertRoom = "INSERT INTO chatrooms (roomname) VALUES (?)";


conn.query(insertRoom,[roomID], function(err, result) {
  if (err) throw err;
console.log("1 record inserted");
});

【讨论】:

    【解决方案2】:
    conn.query(insertRoom,[roomID], function(error, result) {
      if (err) throw err;
    

    在回调函数中您正在编写“错误”,但在如果您正在检查“错误”。在回调中将其更改为

    conn.query(insertRoom,[roomID], function(err, result) {
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 2013-03-29
      • 2016-07-15
      • 2012-04-20
      相关资源
      最近更新 更多