在MySQL中插入含有单引号(‘)或反斜杠(\)的值,需要使用转义字符对这些特殊字符进行转义。
例如:插入含有单引号的值:
INSERT INTO `table` (`field`) VALUES (' value \'');
这里使用\’对单引号进行转义。插入含有反斜杠的值:
INSERT INTO `table` (`field`) VALUES ('c:\\file\\name');
这里使用\\对反斜杠进行转义。如果值中同时包含单引号和反斜杠,则都需要进行转义:
INSERT INTO `table` (`field`) VALUES ('c:\\file\'s\\name');
此外,如果值字面量使用双引号(“)而非单引号(‘),也可以避免特殊字符转义,例如:
INSERT INTO `table` (`field`) VALUES ("value '");
一些其他转义字符:
\n -> 换行符
\r -> 回车符
\t -> 制表符tab
\\ -> 反斜杠本身
\’ -> 单引号本身
\” -> 双引号本身所以可以总结为:1. 使用\’转义或使用双引号等其他符号
2. 对参数化查询或使用变量进行赋值,可以避免直接与SQL字符串拼接参数化查询例子:
SET @str = 'value\''; INSERT INTO `table` (`field`) VALUES (@str);
变量赋值例子:
SET @str = 'c:\\file\'s\\name'; INSERT INTO `table` (`field`) VALUES (@str);
参数化查询和变量赋值可以有效防止SQL注入,并简化特殊字符的转义处理。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录