【问题标题】:Error : Error: ER_BAD_FIELD_ERROR: Unknown column 'user' in 'where clause'错误:错误:ER_BAD_FIELD_ERROR:“where 子句”中的未知列“用户”
【发布时间】:2019-01-17 06:27:48
【问题描述】:

因为我是 nodejs 的新手。我不断收到以下错误代码 错误:错误:ER_BAD_FIELD_ERROR:“where 子句”中的未知列“用户”

我正在使用带有 mysql 和 express 的 nodejs。我想编辑用户详细信息,但我收到上述错误。

    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;
   })

}

感谢您的帮助...

【问题讨论】:

    标签: mysql node.js express


    【解决方案1】:

    您的编辑功能似乎只需要 id,但您传递了一个对象。假设 req.params.id 确实包含 id,请尝试以下可能性之一:

    1. 编辑路由器文件:

      model.edit( req.params.id , function(err, rows, fields){ ... })
      
      // or 
      var user={ id: req.params.id}
      model.edit( user.id , function(err, rows, fields){ ... })
      

      或

    2. 编辑路由器和模型文件:

      // 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) { .... })
       }
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-29
      • 2012-04-25
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 2011-12-05
      相关资源
      最近更新 更多