我是node.js(和mysql的结合)的新手,并尝试根据请求参数和请求主体更新数据库.我文件的开头看起来像这样:
var express = require('express');
var bodyParser = require('body-parser');
var MysqL = require('MysqL');
var connection = MysqL.createConnection({
host: 'localhost',
user: 'root',
password: 'root',
database: 'm3ttulat0r',
debug: true
});
var app = express();
app.use(bodyParser.json());
我的要求看起来像这样:
http://localhost:8080/mettmeister/1
请求正文如下所示:
{
"mettmeister": "Jonas"
}
app.post('/mettmeister/:mettwochId', function(req, res) {
var mettmeister = req.body.mettmeister;
var mettwochId = req.params.mettwochId;
var query = 'UPDATE mettwoch SET mettmeister = "'+ mettmeister +'" WHERE mettwoch_id = "'+ mettwochId +'"';
console.log(mettmeister, mettwochId);
connection.query(query, function(err, result) {
if (!err) {
res.status(201);
} else {
res.status(500);
}
});
});
console.log(mettmeister,mettwochId);返回Jonas 1,这很好.
问题在于它发送了请求,服务器根据日志获取了消息,但是什么也没有发生.服务器显然在执行查询时“停止”.
我已打开调试,查询看起来很好.
--> ComQueryPacket
{ command: 3,
sql: 'UPDATE mettwoch SET mettmeister = "Jonas" WHERE mettwoch_id = "1"' }