使用Node和mysql。在字符串变量

问题描述 投票:0回答:2
处插入失败

我正在尝试在我的数据库中插入一个字符串变量,并且布尔值和整数都很好,但它总是告诉我

错误:列“峰值”不存在

(峰值是字符串变量中的内容)

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然后输入。

javascript mysql node.js database sql-insert
2个回答
0
投票

您需要转义值

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


0
投票

尝试转义类似[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/
© www.soinside.com 2019 - 2024. All rights reserved.