【发布时间】:2012-03-28 02:17:17
【问题描述】:
我正在使用 mySQL。如果' 在要添加到数据库的字符串中,则无法处理。
我试过了:
replaceAll("'","\\'")
和
replaceAll("'","\'")
有什么想法可以用\' 替换' 吗?
【问题讨论】:
-
我认为您真正的问题是在运行时动态构建 SQL 查询,而不是使用
PreparedStatement。请在插入数据库的位置显示更多代码,很可能根本不需要手动转义。 -
我不知道 PreparedStatement 是什么。我只是在创建一个简单的网页。
-
请查看下面 JB Nizet 的答案,他提供了示例代码以及 JDBC 教程相关部分的链接。这很重要——
PreparedStatement几乎总能产生更安全、更干净和更快的代码。 -
是的,听起来不错。我只是浏览了一下。我正在为它添加书签,稍后将继续阅读。谢谢大佬
-
密切关注这里所说的内容。如果您按照听起来的方式行事,那么您的网站很容易受到 SQL 注入攻击的攻击。知识渊博的 (ab) 用户可以对您的数据库运行任意 SQL,包括获取潜在的敏感详细信息和/或删除您的所有数据。