Используя Node и mysql. Вставить не удалось в строковой переменной - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь вставить строковую переменную в мою базу данных и логическое значение и int go в порядке, но это всегда говорит мне

ошибка: столбец "spike" не существует

(шип - это то, что находится в строковой переменной)

let sql2 = "INSERT INTO words (gameNumber, wordsOrdered, guessed, unkey) VALUES (2, "+wordsV[1]+", "+guessed[1]+", "+key[1]+" )"
pool.query(sql2, function(err, result){

WordsV - это массив строк, в которых угадывается bool и входит, а ключ - это int и входит.

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Попробуйте экранировать ваши sql значения, подобные этим (https://www.databasestar.com/sql-escape-single-quote/):

let sql2 = "INSERT INTO words (gameNumber, wordsOrdered, guessed, unkey) VALUES (2, '"+wordsV[1]+"', '"+guessed[1]+"', '"+key[1]+"' )"
0 голосов
/ 25 марта 2020

вам нужны экранирующие значения

let sql2 = "INSERT INTO words (gameNumber, wordsOrdered, guessed, unkey) VALUES (2, '"+wordsV[1]+"', '"+guessed[1]+"', '"+key[1]+"' )"
pool.query(sql2, function(err, result){

, но лучший способ - правильно экранировать значения: https://github.com/mysqljs/mysql#escaping -query-values ​​

...