gpt4 book ai didi

java - 大括号在转义 SQL 语句中被删除

转载 作者:行者123 更新时间:2023-11-29 12:38:25 25 4
gpt4 key购买 nike

下面的语句有什么问题?

        String sql = "INSERT INTO tablename (colname) VALUES ($tag$$${a{e^i\\pi}a}$$$tag$);";
Connection connection = DB.getConnection();
Statement st = connection.createStatement();
st.executeQuery(sql);

执行后,应该有一个新的row int tablename,$${a{e^i\pi}a}$$ in colname (type: text)。但我得到的只是 $${ae^i\pia}$$,这是没有大括号的预期结果。

我在 Windows 7 机器上的 Java 7.11、PostgreSQL 9.1 (x64) 中对其进行了测试。

最佳答案

只需使用准备好的语句,这样您就不会遇到未转义字符串的错误,因为 SQL 会自动为您完成。

  st = conn.prepareStatement("INSERT INTO tablename (colname) VALUES (?)");
st.setString(1, "$${a{e^i\\pi}a}$$");
st.executeUpdate();

有关其他信息,您可以查看此问题的答案: Java - escape string to prevent SQL injection

关于java - 大括号在转义 SQL 语句中被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14648597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com