【问题标题】:Insert an email address into MySQL using a java application使用 java 应用程序将电子邮件地址插入 MySQL
【发布时间】:2012-01-24 08:47:53
【问题描述】:

我正在尝试使用 java 应用程序将电子邮件地址插入 MySQL。我遇到的问题是“@”字符导致 MySQLSyntaxErrorException。我尝试将电子邮件地址作为字符串插入。我该如何解决这个问题?

【问题讨论】:

  • 我们……需要……代码……
  • 可能有很多事情,但最有可能的情况是您“手动”构建 SQL(作为带有 append() 或 + 运算符的字符串)而不是使用 PreparedStatement,因此您不是清理数据。把代码贴在这里,我们就知道了

标签: java mysql email insert


【解决方案1】:
 String insert = "INSERT INTO customer_tbl(name, email) VALUES (?,?)";
 PreparedStatement ps = con.prepareStatement(insert);
 ps.setString(1,"name");
 ps.setString(2,"freddy@slabbinck.net");
 ps.executeUpdate();

准备好的语句让您可以使用地标,它可以设置为任何值,并且不会被 SQL 解析器解析。作为一个额外的好处,这使您也免受 SQL 注入的影响。

【讨论】:

    【解决方案2】:

    Parameterize 您的查询使用PreparedStatement。这样您就不必担心手动字符串转义,并且不易受到 SQL 注入攻击。

    【讨论】:

      【解决方案3】:

      尝试使用 PreparedStatement,如下例所示:http://www.exampledepot.com/egs/java.sql/InsertPs.html

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多