Php 如何通过SQL将文本中的撇号发送到DB2

Php 如何通过SQL将文本中的撇号发送到DB2,php,preg-replace,ereg-replace,Php,Preg Replace,Ereg Replace,在Zend服务器上,我们已经升级到PHP7,它破坏了一个PHP脚本。用户可以将文档中的文本粘贴到文本区域,然后通过SQL将文本区域发送到DB2文件。在PHP7之前,我使用它来确保撇号被发送 $lineout = ereg_replace("'", "''", $line[$a]); 当然这已经被弃用了,我用 $lineout = preg_replace("/'/", "/''/", $line[$a]); 现在,脚本只向上发送包含撇号的第一个单词的文本。我已经玩了一段时间,必须寻求帮助。建

在Zend服务器上,我们已经升级到PHP7,它破坏了一个PHP脚本。用户可以将文档中的文本粘贴到文本区域,然后通过SQL将文本区域发送到DB2文件。在PHP7之前,我使用它来确保撇号被发送

$lineout = ereg_replace("'", "''", $line[$a]);
当然这已经被弃用了,我用

$lineout = preg_replace("/'/", "/''/", $line[$a]);
现在,脚本只向上发送包含撇号的第一个单词的文本。我已经玩了一段时间,必须寻求帮助。建议

我已经研究了db2_准备好的语句,但我仍然没有得到我想要的撇号。正在使用的代码的更新

if ($b < 999) {
    $conn = db2_connect($_SESSION['i5'] , decode($_SESSION['def_user'], 
            $_SESSION['key']), decode($_SESSION['def_pwd'], $_SESSION['key']), 
            array(i5_lib=>$_SESSION['lib']));
    if (!$conn) { echo 'bad';
        die(i5_errormsg());
    } 
    $query = "delete from tmpdesc where deprcl = '$parcel'";
    $stmt = db2_exec($conn, $query);

    for ($a = 0; $a <= $b; $a++) {
        $query = "insert into tmpdesc (deprcl, derecn, dedesc) values('$parcel', 
                 $a+1, '$line[$a]')";
        $prepared_query = db2_prepare($conn, $query);
        $stmt = db2_exec($conn, $prepared_query);
        if (!$stmt) {
            echo 'Error during query insertion<br/>Code: ' . i5_errno($conn) 
                 . '<br/>';
            echo 'Message: ' . i5_errormsg($conn) . '<br/>';
        }
    }
    echo '<p><br/>Legal descriptions have been sent.</p>';
    return '0';
} else {
    echo '<font color=red>You have ', $b, ' lines of descriptions which is 
         more than the 999 allowed.</font>';
    return '1';
}
if($b<999){
$conn=db2_connect($_会话['i5'],解码($_会话['def_user']),
$_会话['key']、解码($_会话['def_pwd']、$_会话['key']),
数组(i5_lib=>$_SESSION['lib']);
如果(!$conn){echo'bad';
模具(i5_errormsg());
} 
$query=“从tmpdesc中删除,其中deprcl=”$parcel';
$stmt=db2_exec($conn$query);

对于($a=0;$a),这是一个等待发生的SQL注入。忘记
preg_replace()
并使用。斜杠仅是正则表达式模式的分隔符,而不是替换字符串的分隔符。如果您只想替换一个文本字符串,则只需使用一个副词
str_replace