我正在与express和Mysql一起尝试在数据库中创建新记录,但是在控制台中出现一个错误。这个显示了反斜杠内部的值,我不知道为什么。
这是我的功能:
const PostImpuestos = (data,callback) => {
var sql = "INSERT INTO tbImpuesto (nombre, valor) VALUES ?";
connection.query(sql, [data] ,function(error,results){
if (results){
return callback()
} else {
console.log(error);
}
})
}
这是错误:
sqlMessage: “您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以在第1行的\'
nombre
= \'Impuesto de Tijuana \',valor
= \ '15%\'\'附近使用正确的语法', sqlState:“ 42000”, 索引:0, sql: '将inert插入tbImpuesto(标称值,勇气)值nombre
= \'Impuesto de Tijuana \',valor
= \ '15%\''}
我当时认为错误可能与值数据的类型有关,因为这是一个json。我将其更改为数组和对象,但问题仍然存在。
答案 0 :(得分:1)
简单修复,您需要添加错误的插入查询?对于您在方括号内插入的每个变量。
INSERT INTO tbImpuesto (nombre, valor) VALUES (?, ?);
反斜杠只是为了防止sql注入而进行的修饰。