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

Я пытаюсь вставить данные формы в базу данных MySQL в nodejs, используя expressjs

Когда я запускаю свой код в командной строке, он работает хорошо, но когда я нажимаю кнопку отправки, я получаю следующие ошибки:

var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password:'',
  database : 'test'
});

app.get("/", function(req, res){
        res.render("home");
});

//when I press submit button it should post the request and render a page to submit route with text "data saved!!" 

app.post("/submit", function(req, res){

  var q = "Insert into test (ID, name, crash1, crash2, crash3) VALUES (null, '" + req.body.ANR + "', " + req.body.crash1 + ", " + req.body.crash2 + ", " + req.body.crash3 +")";
  connection.query(q, function(err){
      if(err) throw err
      res.render("home", {message: 'data saved!!'});
  })
});

Я создал таблицу в командной строке MySQL

create table xyz(
    ID BIGINT AUTO_INCREMENT PRIMARY KEY NOT NULL, 
    name VARCHAR(100) NOT NULL, 
    crash1 BIGINT, 
    crash2 BIGINT, 
    crash3 BIGINT
);

, когда я вставил вручную, это сработало!

insert into xyz(ID, name, crash1, crash2, crash3) VALUES (1,'REERE', 2 ,2 ,2);

моя ошибка выглядит так enter image description here

1 Ответ

0 голосов
/ 12 февраля 2019

Вы вставляете в тестовую таблицу свой код:

var q = "Insert into test (ID, name, crash1, crash2, crash3) VALUES (null, '" + req.body.ANR + "', " + req.body.crash1 + ", " + req.body.crash2 + ", " + req.body.crash3 +")";

Но имя таблицы - xyz.Вам следует заменить test на xyz, и он должен работать.

И не передавать null в id, так как id не равен null.

Пожалуйста, конвертируйте crash1, crash2, crash3 в значение int:

req.body.crash1 = parseInt(req.body.crash1);
req.body.crash2 = parseInt(req.body.crash2);
req.body.crash3 = parseInt(req.body.crash3);

Это должно быть как:

var q = "Insert into xyz (name, crash1, crash2, crash3) VALUES ('" + req.body.ANR + "', " + req.body.crash1 + ", " + req.body.crash2 + ", " + req.body.crash3 +")";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...