运行下面的代码将引发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:未定义err
答案 0 :(得分: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");
});
答案 1 :(得分:1)
conn.query(insertRoom,[roomID], function(error, result) {
if (err) throw err;
在回调函数中,您正在编写“错误”,但在则中,如果您正在检查“ err”。在回调中将其更改为
conn.query(insertRoom,[roomID], function(err, result) {