在节点 js 应用程序内的 Postgres 查询中转义单引号
Escape single quote in Postgres query inside node js app
这是我的节点 js 代码中的一行:
var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite") VALUES (' + req.body.user + ',' + JSON.stringify(req.body.favourite) + ')'
我想在JSON.stringify(req.body.favourite)
前插入单引号。但我无法逃避单引号。我无法调试问题,因为我正在将代码上传到 predix 云服务器
知道如何实现吗?
为什么不使用准备好的语句?
var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite") VALUES (, )';
client.query(qry, [ req.body.user, JSON.stringify(req.body.favourite])'
您还可以使用模板文字来构建查询
使用 back-tick 字符的模板文字 Check main answer here
alert(`Use "double" and 'single' quotes in the same string`);
alert(`The escape the \` back-tick character in a string`);
模板文字为变量插值、multi-line 字符串等提供了简洁的语法。
这是我的节点 js 代码中的一行:
var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite") VALUES (' + req.body.user + ',' + JSON.stringify(req.body.favourite) + ')'
我想在JSON.stringify(req.body.favourite)
前插入单引号。但我无法逃避单引号。我无法调试问题,因为我正在将代码上传到 predix 云服务器
知道如何实现吗?
为什么不使用准备好的语句?
var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite") VALUES (, )';
client.query(qry, [ req.body.user, JSON.stringify(req.body.favourite])'
您还可以使用模板文字来构建查询
使用 back-tick 字符的模板文字 Check main answer here
alert(`Use "double" and 'single' quotes in the same string`);
alert(`The escape the \` back-tick character in a string`);
模板文字为变量插值、multi-line 字符串等提供了简洁的语法。