我们怎样才能逃脱quotes
""
Java 和 MySQL 中的字符?
传入的 XML 文件带有引号,我正在使用 Java 解析该文件。所以我想在这里转义引号,但在数据库中它应该包含引号。当我进行查询时,结果会有引号。在网页上显示时,它还应该显示引号。
让我尝试并理解...
传入的文件中有引号。您想将其发送到数据库。当您从数据库中取回它时,您仍然希望这些引号在那里。
那么您遇到的问题只是来自数据库吗?
如果是这样那么我highly怀疑你正在做一些事情:(我将其包装在免责声明中,以防止毫无戒心的人误解并剪切/粘贴到他们自己的应用程序中。;))
不好 - 不要这样做
String sql = "insert into foo (bar,baz) values(" +myValue1 + ", " + myValue2 + ")";
Statement stmt = connection.createStatement();
stmt.executeUpdate(sql);
不好 - 不要那样做
如果是这样,那么您确实应该至少使用准备好的语句的参数。 a) 您将不易受到删除所有表的恶意垃圾的影响,并且 b) 您不会遇到任何逃逸问题。
String sql = "insert into foo (bar, baz) values( ?, ? )";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, myValue1);
stmt.setString(2, myValue2);
stmt.executeUpdate();
请注意,对于 CLOB 之类的情况以及不同数据库实现的具体情况,它也更安全(我在想你,Oracle >))
如果是其他类型的转义,即与 XML 之间或与 HTML 之间的转义,那就不同了,但它在整个网络上都有详细记录。
或者如果我完全偏离基础,请提供一些示例代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)