jku*_*ner 2 java mysql escaping
我仍然是Java的新手,并试图将数据插入数据库.我插入一个包含's的字符串时出错,所以我的最终结果是逃避撇号.我怎么能完成?
问题实际上不是Java,而是底层数据库.您最有可能将参数串在一起,如下所示:
String sql = "select * from sometable where somefield = " + someObject.getSomeField();
Run Code Online (Sandbox Code Playgroud)
不要那样做.请改用PreparedStatement.
如果这是一个必须关注此类事情的应用程序,那么它具有防止SQL注入攻击的额外优势.
StringEscapeUtils.escapeSql(yourstring);
Run Code Online (Sandbox Code Playgroud)
警告:从Commons Lang 3.0开始:
StringEscapeUtils.escapeSql
这是一种误导性的方法,只处理最简单的SQL案例.由于SQL不是Lang的重点,因此维护此方法没有意义.
| 归档时间: |
|
| 查看次数: |
7754 次 |
| 最近记录: |