概览
在标准 SQL 中,字符串使用的是单引号。
如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义)。
但在其它的数据库中可能存在对 SQL 的扩展,比如在 MySQL 中允许使用单引号和双引号两种,oracle里面表示字符串就只允许使用单引号。
注意!
String sql = "select * from clients where uname=' "+name+" 'and upwd=' "+pwd+" '"
SQL中只支持单引号,表示字符串常量
SQL中的双引号用于表示字符串
两个加号是连接字符串
最终生成的SQL是
select * from clients where unam='xxx' and upwd='yyy';
上面的写法存在sql注入漏洞:
select * from clients where uname='xxx' and upwd='yyy' or 1='1';
本文探讨了SQL中单引号和双引号的区别,指出在标准SQL中使用单引号的规范,并揭示了使用不当可能导致的SQL注入漏洞实例。强调了在编写安全SQL语句时的重要性。
2314

被折叠的 条评论
为什么被折叠?



