Ошибка: Ошибка: ER_BAD_FIELD_ERROR: неизвестный столбец «пользователь» в «где предложение» - PullRequest
0 голосов
/ 17 января 2019

Как я новичок в nodejs. Я продолжаю получать следующий код ошибки Ошибка: Ошибка: ER_BAD_FIELD_ERROR: неизвестный столбец «пользователь» в «где предложение»

Я использую 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;
   })

}

спасибо за помощь ...

1 Ответ

0 голосов
/ 17 января 2019

Кажется, ваша функция редактирования ожидает только идентификатор, но вы передаете объект. Предполагая, что req.params.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){ ... })
    

    OR

  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) { .... })
     }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...