javascript - 使用节点和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 并输入。
解决方案
你需要转义值
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
推荐阅读
- angular - Angular 中的 ChangeDetectorRef 实例
- vue.js - Vue.js:从 URL 获取查询字符串参数值
- android - 用户按下电源按钮时如何删除 Firebase 文档
- html - 我的 ng-option 选择栏显示列表中的最后一个值
- xml - 使用 XSL 转换 XML 失败
- spring-boot - 使用同一存储库保存和检索数据时不保存数据 Spring boot JPA
- javascript - 有没有办法在 vuetify-jsonschema-form vue js 中添加自定义验证?
- jenkins - Jenkins脚本化管道:无法在shell中打印变量并在shell中设置变量值
- laravel - Eloquent hasOneThrough withTrashed
- widevine - Widevine 文档