обновление таблицы mysql с помощью nodejs

0

Я хочу обновить один из моих столбцов, когда он найдет пользователя уже в базе данных.

Это viewers = ['freddiejefferson']

Таблица:

kong_plays           10
freddiejefferson     10

Мой код:

function getPoints(){
              for (viewerCount = viewerAmount; viewerCount >= 0; viewerCount--) {
                currentViewer = viewers[viewerCount]
                connection.query("SELECT * FROM points WHERE twitchName = currentViewer", (err, result) => {

                  if(err) throw err; 
                  if (result === ''){
                    connection.query("INSERT INTO points (twitchName, points) VALUES (currentViewer, '10')", (err, result) => {
                      if(err) throw err;
                      console.log("Inserted into table")
                    });
                  }else{
                    connection.query("UPDATE points SET points= points+10 WHERE twitchName = currentViewer", (err, result) => {
                      if(err) throw err;
                      console.log("updated points")
                    });
                  }
                });
              }

        }

Ошибка, которую он выдает: Error: ER_BAD_FIELD_ERROR: Unknown column 'currentViewer' in 'where clause'

ОШИБКА 1:

connection.query("INSERT INTO points (twitchName, points) VALUES (" + currentViewer " +, '10')", (err, result) => {

                                                          ^^^^^^^^^^^^^   (under current viewer)

SyntaxError: missing ) after argument list

ОШИБКА 2:

throw err; // Rethrow non-MySQL errors
        ^

 Error: ER_BAD_FIELD_ERROR: Unknown column 'undefined' in 'where clause'
Теги:
twitch

1 ответ

0

Похоже, вы запрашиваете строку currentViewer, вместо этого вы хотите запросить любую переменную currentViewer.

Это будет сделано путем изменения строк запроса на:

connection.query("SELECT * FROM points WHERE twitchName = " + currentViewer, (err, result) => {

То же самое относится к инструкции insert:

connection.query("INSERT INTO points (twitchName, points) VALUES (" + currentViewer + ", '10')", (err, result) => {

  • 0
    выдает ошибку в редактировании, которое я только что сделал
  • 0
    Обновил мой ответ. Я испортил порядок. Сожалею.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню