ORACLE中的实转义字符串

ORACLE中的实转义字符串,oracle,Oracle,为了转义MySQL数据库的引号,我们使用MySQL\u real\u escape\u字符串。 如果我希望在PHP中为Oracle数据库执行此操作,该怎么办 我发现的解决方案: ”(双引号) q[$string] 解决方案1听起来不对(也许你认为是对的,但写错了);它不是双引号,而是两个连续的单引号 下面是一个例子: SQL> select 2 'I''m Little O''Foot' option_1, 3 q'[I'm Little O'Foot]' o

为了转义MySQL数据库的引号,我们使用MySQL\u real\u escape\u字符串。
如果我希望在PHP中为Oracle数据库执行此操作,该怎么办

我发现的解决方案:

  • (双引号)
  • q[$string]
  • 解决方案1听起来不对(也许你认为是对的,但写错了);它不是双引号,而是两个连续的单引号

    下面是一个例子:

    SQL> select
      2    'I''m Little O''Foot'    option_1,
      3    q'[I'm Little O'Foot]'   option_2
      4  from dual;
    
    OPTION_1          OPTION_2
    ----------------- -----------------
    I'm Little O'Foot I'm Little O'Foot
    
    SQL>
    
    无论你选择哪个选项,它都会起作用。第二个选项更容易处理,因为当字符串中有太多单引号时,你可能会迷路

    第三种选择是连接
    CHR(39)
    (这是一个单引号字符);它在不支持q-quoting机制的工具(如旧的表单生成器)中很有用:


    完全不要使用它。在SQL语句中使用参数占位符。可能与
    SQL> select
      2    'I' || chr(39) || 'm Little O' || chr(39) || 'Foot'   option_3
      3  from dual;
    
    OPTION_3
    -----------------
    I'm Little O'Foot
    
    SQL>