因为我是 nodejs 的新手。我不断收到以下错误代码错误:错误:ER_BAD_FIELD_ERROR:'where 子句'中的未知列'用户'
我正在将 nodejs 与 mysql 和 express 一起使用。我想编辑用户详细信息,但我收到了上述错误。
app.get('/edit', function(req, res, next){
var model = new User(connection);
var user={ id: req.params.id}
model.edit({user}, function(err, rows, fields)
{
// if user not found
if (rows.length <= 0) {
console.log('error', 'User not found with id = ' +
req.params.id)
res.redirect('home')
}
else { // if user found
// render to views/user/edit.ejs template file
res.render('user/edit', {
title: 'Edit User',
//data: rows[0],
id: rows[0].id,
name: rows[0].name,
password: rows[0].password,
email: rows[0].email
})
}
})
});
-----------------------------
Query:
User.prototype.edit = function(id)
{
connection= this.connection;
connection.query('SELECT * FROM users WHERE id = ? ',[id],function(err,
result, fields) {
//if(err) throw err
if(err)
{
console.log("Error : %s ",err );
return false
}
console.log("Result", result);
return result;
})
}
感谢帮助...
您的编辑功能似乎只需要 id,但您传递的是一个对象。假设req.params.id
确实包含 id,请尝试以下可能性之一:
编辑路由器文件:
model.edit( req.params.id , function(err, rows, fields){ ... })
// or
var user={ id: req.params.id}
model.edit( user.id , function(err, rows, fields){ ... })
或者
编辑路由器和模型文件:
// router file
var user={ id: req.params.id}
model.edit(user, function(err, rows, fields){ ... })
// model file
User.prototype.edit = function(user_id_object){
connection.query('SELECT * FROM users WHERE id = ? ',[user_id_object.id],function(err, result, fields) { .... })
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句