我正在尝试在我的数据库中插入一个字符串变量,并且布尔值和整数都很好,但它总是告诉我
错误:列“峰值”不存在
(峰值是字符串变量中的内容)
let sql2 = "INSERT INTO words (gameNumber, wordsOrdered, guessed, unkey) VALUES (2, "+wordsV[1]+", "+guessed[1]+", "+key[1]+" )"
pool.query(sql2, function(err, result){
[wordsV是一个字符串数组,猜测是一个布尔值并且输入,而键是一个int然后输入。
您需要转义值
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
尝试转义类似[this] [1]的sql值:
let sql2 = "INSERT INTO words (gameNumber, wordsOrdered, guessed, unkey) VALUES (2, '"+wordsV[1]+"', '"+guessed[1]+"', '"+key[1]+"' )"
[1]: https://www.databasestar.com/sql-escape-single-quote/