在节点js app中的Postgres查询中逃避单引号

时间:2017-01-19 13:23:42

标签: javascript node.js postgresql predix

这是我的节点js代码中的一行:

var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite")  VALUES (' + req.body.user + ',' + JSON.stringify(req.body.favourite) + ')'

我想在JSON.stringify(req.body.favourite)之前插入单引号。但我无法摆脱单引号。因为我将代码上传到predix云服务器,所以我无法调试该问题 知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

为什么不使用准备好的陈述?

var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite")  VALUES ($1, $2)';
client.query(qry, [ req.body.user, JSON.stringify(req.body.favourite])'

答案 1 :(得分:0)

您还可以使用模板文字来构建查询

使用反向刻度字符Check main answer here

的模板文字
alert(`Use "double" and 'single' quotes in the same string`);
alert(`The escape the \` back-tick character in a string`);

模板文字提供了一种干净的语法:变量插值,多行字符串等。