mysql 单引号的问题 - CNode技术社区

mysql 单引号的问题
发布于 11 年前 作者 peterzhu0825 6245 次浏览 最后一次编辑是 9 年前 来自 问答

在插入mysql的时候,数据中出现单引号,插入不进数据,请问node.js有什么好的处理方式可以处理这个问题,求指教

4 回复

转义啊。

 // refer to https://github.com/XadillaX/Toshihiko/blob/develop/lib/escaper.js#L17
 return str./**escapeRegExp().*/chars().reduce(function(str, ch) {
 switch(ch) {
 case "\n" : str += "\\n"; break;
 case "'" : str += "\\'"; break;
 case "\"" : str += "\\\""; break;
 case "\t" : str += "\\t"; break;
 case "0円" : str += "\0円"; break;
 case "\r" : str += "\\r"; break;
 case "\b" : str += "\\b"; break;
 case "\x1a" : str += "\\Z"; break;
 case "\\" : str += "\\\\"; break;
 default: str += ch; break;
 }
 return str;
 }, "");

类似于这样子的。

https://github.com/XadillaX/Toshihiko/blob/develop/lib/escaper.js#L17

这不是node的问题。

@jysperm 预防SQL注入,可使用node-mysql的?占位符,内部替换时候使用了connection.escape

回到顶部

AltStyle によって変換されたページ (->オリジナル) /