我遇到的问题是我的INSERT
代码无效。我可以从数据库中选择数据,但我无法添加数据。当我运行http://18.219.103.143:3000/insert-user?fname=new&lname=user&email=ejw&password=hsdf
时,我在控制台中收到服务器错误。
我认为这个app.get
有问题。
app.get('/insert-user',function(req,res,next){
var context = {};
pool.query("INSERT INTO user (`fname`, `lname`, `email`, `password`) VALUES (?,?,?,?)",
[req.query.fname, req.query.lname, req.query.email, req.query.password],
function(err, result){
if(err){
next(err);
return;
}
context.results = "Inserted id " + result.insertId;
res.render('home',context);
});
});
但是,我无法将任何消息打印到控制台以进行调试。但是,我认为,因为我可以使用SELECT
语句连接到数据库,连接不是问题。这几乎就好像app.get
INSERT甚至没有被执行。有没有人知道有效的调试方法?我正在撞墙,无法弄清楚最好的下一步是什么。
答案 0 :(得分:1)
我首先会查看您运行服务器的终端。如果没有任何输出,我会将你的脚本修改为以下
app.get('/insert-user',function(req,res,next){
var context = {};
pool.query("INSERT INTO user (`fname`, `lname`, `email`, `password`) VALUES (?,?,?,?)",
[req.query.fname, req.query.lname, req.query.email, req.query.password],
function(err, result){
if(err){
console.log(err); // <= add this
next(err);
return;
}
context.results = "Inserted id " + result.insertId;
res.render('home',context);
});
});
然后尝试再次点击您的终端。希望记录错误的详细信息(在终端中,而不是浏览器中)。