在postgres insert/update中正确分隔单引号
Correctly delimit single quotes in postgres insert/update
我很难弄清楚如何在postgreSQL UPDATE语句的文本字段中分隔任何单引号。如果我考虑以下,用''
代替'
似乎是需要的,它仍然不像我期望的那样起作用。另外,如果有人在字符串中发送'''
,您该怎么办?
var userid = request.decoded.id;
var incomingString = "Hello I'm a user.";
var newBio = incomingString.replace("'", "''");
pg.connect(process.env.DATABASE_URL, function(err, client, done){
client.query("UPDATE users SET bio = "+newBio+" WHERE user_id = "+userid+"", function(err, result){
done();
if(err){
response.json({message:"err in db input."});
}
else{
response.json({message:"success"});
}
});
});
我是否应该简单地将上面的SQL语句更改为如下所示?这是否解决了SQL注入漏洞和需要转义单引号?
"UPDATE users SET bio = $1 WHERE user_id = $2", [newBio, userid]",
您不应该手动转义SQL特殊字符。
你的第二个例子是正确的。使用准备/参数化语句消除SQL注入威胁。相关文章:
- Javascript/jQuery:用HTML span标记替换单引号中的文本
- 删除单引号字符转义
- 将字符串中的单引号替换为双引号
- JavaScript:单引号'导致错误
- 如何通过HTML将带有单引号的JSON从PHP传递到Javascript
- 如何在java脚本中用单引号写逗号分隔的值
- 使用jquery或regex,带点但不带点的拆分字符串位于单引号中
- 用空格替换单引号和其他符号
- javascript单引号/双引号
- 如何在字符串输入的 Html 元素中的双引号内编写单引号
- 使用javascript为#、单引号和双引号编码值
- JavaScript 相等操作对单引号字符串和数字都成功
- 对字符串使用单引号或双引号
- 如何在javasciipt中添加单引号到字符串,该字符串将在nodeJS中作为mysql插入命令执行
- JavaScript:当存在单引号时,用于替换双花引号的正则表达式失败
- 单引号 JSP 到 JavaScript 函数
- 在文本区域中,输入用jquery str.replacement()替换哭泣的smiley live的单引号
- Javascript 正则表达式将括号和单引号替换为斜杠
- 用空格分隔的值对字符串进行标记,除非值用单引号括起来
- 在postgres insert/update中正确分隔单引号