没有PreparedStatement的Java清理数据库输入

时间:2011-03-27 13:33:38

标签: java mysql sql

我知道我已经阅读了使用PreparedStatement将用户输入清理到数据库的简单方法。但我想知道是否有另一种方法来消毒用户输入或清理输入,然后获得使用PreparedStatements消毒的输入的返回值?

2 个答案:

答案 0 :(得分:5)

PreparedStatement不会消毒任何东西。这是在到达持久层之前绑定和验证的原因。无论如何你应该这样做。

为什么反对PreparedStatement?这对我来说没什么意义。

答案 1 :(得分:-1)

如果通过Sanitize你的意思是“用编码字符替换特殊字符”,你可以试试“URLEncoder”。

然而,这用于以特定Mime格式创建编码参数。

http://download.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html

参见此处的示例

http://www.java2s.com/Code/Java/Network-Protocol/URLEncodeTest.htm