Вставьте запрос в MYSQL DB на Heroku с Node.js - PullRequest
0 голосов
/ 19 апреля 2020

У меня проблемы со вставкой данных в базу данных на Heroku (MySQL, ClearDB). Всякий раз, когда я пытаюсь выполнить INSERT-запрос, он просто не работает, ничего не вставляется, никаких сообщений об ошибках вообще. Запрос SELECT работает нормально, и я подтвердил это, но не знаю, что я делаю не так в этом случае. Пожалуйста, найдите фрагмент ниже: Итак, это моя функция INSERT:

getUserDetails(value, (err, result)=>{
        if(err){
          return;
        }
        if(result.length > 0){
          socket.emit("verify", {type: true, message: "Username taken"});
        }else{
          const connSocket = getDbConnectionSocket();
          connSocket.connect(err=>{
            if (err){
              return;
            }
            const sql="INSERT INTO tableName (column1, column2, column3) VALUES ?";
            const values = [value.key1,value.key2, "value2AsString"];
            connSocket.query(sql, [values], (err, result)=>{
              if(err){
                return;
              }
            });
            connSocket.end();
          });
        }
      })

, а это моя функция getUserDetails:

function getUserDetails(value, callback){
  const connSocket = getDbConnectionSocket();
  connSocket.connect(err=>{
    if (err){
      return;
    }
    connSocket.query(`SELECT * FROM table WHERE column="${value.key1}"`, callback);
    connSocket.end();
  });
}

Конфигурация БД на 100% правильная, запросы SELECT работают, socket.io работает отлично. Я отправляю этот запрос из файла index. js, который сейчас находится на моем локальном хосте и является http-сервером. Это в будущем также будет проходить на Герою.

Может кто-нибудь объяснить мне, что здесь происходит и как это исправить? Буду благодарен за правильное объяснение проблемы.

1 Ответ

0 голосов
/ 19 апреля 2020

Проблема была в синтаксической ошибке в запросе к БД. Я изменил

INSERT INTO tableName (column1, column2, column3) VALUES ?

на

INSERT INTO tableName (column1, column2, column3) VALUES (?)

добавление () закончено? и теперь все отлично работает!

...