Gop*_*opi 1 java mysql escaping
ComName是'a'b'c'"def"j有限公司.
我尝试在每个'和'之前添加\,但执行的结果查询是
"UPDATE empTable SET empId= '25', ComName = 'a'b'c'"def"j Limited where ID=1"
Run Code Online (Sandbox Code Playgroud)
我没有看到我的Comname在''和\'之前没有出现'和'
以下是构造列值的代码
columnValue.replaceAll("\'", "\\" + "\'");
columnValue.replaceAll("\"", "\\" + "\"");
columnValue=("'" + columnValue + "'");
Run Code Online (Sandbox Code Playgroud)
如何插入这些类型的字符串?
查看JDBC库中的PreparedStatements.例如
PreparedStatement pstmt = con.prepareStatement("update Orders set pname = ? where Prod_Id = ?");
pstmt.setInt(2, 100);
pstmt.setString(1, "Bob");
pstmt.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
通过使用setString()等,它将使您不必引用字符串.这是一个如何使用它们的教程.
编辑:正如尼克在下面强调的那样,这不仅可以节省引用问题,还可以节省SQL注入(安全)问题.
| 归档时间: |
|
| 查看次数: |
8967 次 |
| 最近记录: |