单引号未插入 magento 自定义代码中的预言机表/视图中


Single quote not inserting in oracle table/view from magento's custom code

我正在尝试从洋红色的自定义插件/代码在oracle表中插入数据。下面的代码对我有用,但我无法插入带有值的单引号。

<?php
   $headerSql = "INSERT INTO MAGE_ORDER_INTF_HEADERS_DV (HEADER_REC_ID, IMPORT_SOURCE, IMPORT_SOURCE_INSTANCE)VALUES (".$header_rec_id.",'".$is."','".$isi."')";
   $q = $writeResourceOracle->prepare($headerSql);
   if($q->execute()) {
      echo 'success';
   }else{
      echo 'fail';
   }
?>

如果我有像约翰、山、谷歌这样的纯数据,它会进入数据库表,但如果数据像 Mac 或任何比 Oracle 有单引号的东西通过错误。在这种情况下,请帮助我。

在SQL文本中,单引号不能直接插入,我们必须在文本中的任何单引号之前使用一个额外的引号。就像Mac应该表示为Mac一样。所以让我们在将它们放入 SQL 之前准备变量,如下所示

//$value = "mac's";
$value = str_replace("'", "''", $value);

如果您使用的是Oracle db,最好是9i及更高版本。

INSERT TABLEHERE (COLUMNHERE) VALUES(q'|$value|');