当前位置: 首页 > 面试题库 >

在用户生成的变量中要插入的字符串时,如何转义SQL插入的单引号...

逄烨
2023-03-14
问题内容

我正在构建一个插入命令以使用jdbc执行。它的一部分是连接用户生成的字符串…这一切都将起作用,直到用户使用这样的字符串为止:

A B C D

    String userString="a'bcd";
    String insertTableSQL = "INSERT INTO myTable "
                                + "(insertColumn) " 
                                + "VALUES("
                                    +"'"+userString+"'"
                                    +")";

    statement.executeUpdate(insertTableSQL);

问题答案:

您可以执行以下任一操作:

  1. 使用 PreparedStatement 类。( 推荐
        String userString="a'bcd";
    String myStatement = " INSERT INTO MYTABLE (INSERTCOLUMN) VALUES (?)";
    PreparedStatement statement= con.prepareStatement   (myStatement );
    statement.setString(1,userString);
    statement.executeUpdate();
  1. 转义单引号。

在SQL中,单引号将通过使用双单引号进行转义。'->''

        String userString="a'bcd";
    String changedUserString = userString.replace("'","''");
            //changedUserString  = a''bcd
    String insertTableSQL = "INSERT INTO myTable (insertColumn) VALUES("
                            +" '"+changedUserString +"' )";


 类似资料:
  • 问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >

  • 问题内容: 我想在Python中将变量引入字符串中。 例如,看下面的脚本。我只是想为图像起个名字,例如…到,或者如果您使用会计师,因为我可以替换部分价值链以生成计数器。 问题答案: data = self.cmd(“r.out.gdal in=rdata out=geo{0}.tif”.format(i)) self.dataOutTIF.setValue(“geo{0}.tif”.format(

  • 问题内容: 尝试将变量插入回显的字符串中。上面的代码不起作用。如何将php变量迭代到回显字符串中? 问题答案: 单引号不会解析其中的PHP变量。使用双引号或使用点扩展回声。 要么 在您的情况下: 要么

  • 问题内容: 这个问题已经在这里有了答案 : 如何防止PHP中进行SQL注入? (28个答案) 4年前关闭。 我有一个困惑的问题,我似乎无法理解… 我有两个SQL语句: 第一个将信息从表单输入数据库。 第二个从上面输入的数据库中获取数据,发送电子邮件,然后记录交易的详细信息 问题是似乎单引号仅在第二个条目上触发MySQL错误!第一个实例可以正常工作,但是第二个实例触发。 表单中的数据处理方式与表单中

  • 我试图将一些XML插入到使用列类型XML的SQL服务器数据库表中。 这在大多数情况下都可以正常工作,但是一个用户提交了一些带有十六进制值3字符的XML,SQL Server给出了错误“十六进制值0x03,是无效字符” 现在,我想在插入之前检查并删除所有无效的XML字符,有很多文章建议如何使用regex或类似的方法替换无效的XML字符。 但是,我的问题是,用户提交的XML文档中包含无效的转义字符,即

  • 问题内容: 我知道在PHP中我们可以做这样的事情: 输出: 我想知道JavaScript是否也可以实现同样的功能。在字符串内部使用变量而不使用串联-编写起来看起来更加简洁和优雅。 问题答案: 您可以利用模板文字并使用以下语法: 模板文字用 反 引号 (``) (重音)括起来,而不是双引号或单引号。 ES2015(ES6)中已引入此功能。 例 那有多干净? 奖金: 它还允许在JavaScript中使