【发布时间】:2020-01-16 20:08:12
【问题描述】:
nodejs 的新手。 我抛出了一个无效的语法错误。 这可能是因为试图转义字符。
let i = 0;
while(i < answered.length){
let td = [
connection.escape(questionnaireId),
connection.escape(sId),
connection.escape(questionId),
connection.escape(answered[i]),
connection.escape(hutk)
];
values.push(td);
i++;
}
let sql = "INSERT INTO answers (qId, sId, key, value, hutk) VALUES ?";
connection.query(sql, [values], function(err, result){
if(err) throw err;
console.log("Successfull Insert");
connection.release();
});
我明白了
“错误号”:1064, "sqlMessage": "您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的 在 'key, value, hutk) VALUES ('18', '\'yZfXqYnvIXmLmuDAthbRr7IHtkFp5cl2ZSPCsEwY\'', ' 在第 1 行", "sqlState": "42000", “索引”:0,
"sql": "INSERT INTO answers (qId, sId, key, value, hutk) VALUES ('18', '\\'yZfXqYnvIXmLMuDAthbRr7IHtkFp5cl2ZSPCsEwY\\'', '5','\\'23@sd.lk\\'', '\\'f98a7585ce8d984a902df90263cdab5d\\'')"
【问题讨论】:
-
用反引号 (`) 包裹转义的
sId怎么样? -
和connection.escape('
' + sId + '')一样? @Zolbayar -
connection.escape(sId)周围的反引号 -
@Zolbayar 因为我使用占位符,我需要转义字符串吗?
-
嗯,试一试也无妨
标签: mysql node.js aws-lambda