所以我遇到了一个关于MySQL的小问题。我有一个服务,允许管理员禁止用户,并给出他们被禁止的原因。此服务完全是用java编写的……虽然我可以使用PhP服务器并使用其中的MySQL功能来解决此问题...我觉得我想把我所有的MySQL功能都放在一个环境中。
问题出现在给出理由的能力上,通常管理员会给出一个理由,比如“你被禁止了:哀悼鲍勃的城堡”(或类似的东西)。正如所注意到的,‘’引发了问题,因为它们是用来在MySQL中表示字符串的。
在Java环境中有什么解决方案吗?
发布于 2014-01-11 12:05:31
最简单的解决方案可能是Commons Lang StringEscapeUtils.escapeSql(String)。另一种解决方案是使用PreparedStatement并绑定参数(有些人更喜欢第二种方法,因为它通常伸缩性更好,性能更快)。
// From the JavaDoc on PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES "
+ "SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)https://stackoverflow.com/questions/21057999
复制相似问题