我们如何quotes ""在Java和MySQL中转义字符?
传入的XML文件有引号,我使用Java解析该文件.所以我想在这里转义引号,但在数据库中它应该包含引号.当我进行查询时,结果会有引号.在网页上显示时,它还应显示引号.
PSp*_*eed 11
让我试着理解......
传入的文件中包含引号.您想将其发送到数据库.当你从数据库中取回它然后你仍然希望那些引号存在.
那么,您是否正在从数据库中获取您的问题?
如果是这样,那么我非常怀疑你是按照以下顺序做的事情:(我将其包含在免责声明中,以防止误解和切割/粘贴到他们自己的应用程序中.;))
String sql = "insert into foo (bar,baz) values(" +myValue1 + ", " + myValue2 + ")";
Statement stmt = connection.createStatement();
stmt.executeUpdate(sql);
Run Code Online (Sandbox Code Playgroud)
如果是这样,那么你应该至少使用预准备语句的参数.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();
Run Code Online (Sandbox Code Playgroud)
请注意,对于像CLOB这样的东西以及不同数据库实现的具体情况,它也更安全(我在想你,Oracle>))
如果它是某种其他类型的转义,即来自XML或来自HTML,那么这是不同的,但它在整个网络上都有很好的文档记录.
或者提供一些示例代码,如果我完全偏离基础.