如何转义SQL查询中使用的特殊字符?

Ank*_*kur 4 java sql escaping

是否有一个Java库,用于从将要插入SQL查询的字符串中转义特殊字符.

我一直在编写代码来逃避各种各样的事情,但我一直在寻找一些新的问题.因此,一个处理所有或大部分可能性的库将非常方便.

编辑:我正在使用MySQL(如果这有任何区别).

Mau*_*rry 6

嗯... jdbc.将字符串作为参数传递,不要将它们附加到查询字符串

  • +1但是......这应该真的扩展到至少包括一个参考/例子.. (3认同)

Ank*_*kur 1

更多的研究表明我注意到这一点:

http://devwar.blogspot.com/2010/06/how-to-escape-special-characters-in.html

建议使用apache.commons.lang.StringEscapeUtils,我会尝试一下

  • **危险。这不安全注射。** 这并不总是有效。问题是 *locale* 对于“安全”转义 MySQL 中的字符串很重要。这就是为什么 PHP 在已经存在 `mysql_escape_string` 的情况下引入 `mysql_real_escape_string`。前者试图通过考虑区域设置来“修复”该方法(并且它*仍然并不总是有效*。)我不会投反对票,因为这是你自己的答案 - 尽管它应该是对原来的帖子——但这*不是一个好方法*。 (2认同)