首页 > 解决方案 > 使用节点和mysql。在字符串变量处插入失败

问题描述

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

错误:列“尖峰”不存在

(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 并输入,key 是 int 并输入。

标签: javascriptmysqlnode.jsdatabasesql-insert

解决方案


你需要转义值

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


推荐阅读