Oracle SQL:“引用的字符串未正确终止”

时间:2015-12-29 16:02:02

标签: php sql oracle

我正在使用带有PHP的Oracle 11.2,现在当我尝试使用TIMESTAP列插入一些信息时发生了一个奇怪的错误。

这是我在items表中插入行的PHP方法/函数:

public function insert_task($data = [])
{
    return oci_execute(oci_parse($this->conn, "INSERT INTO items (ITEM_AUTHOR_ID, ITEM_TITLE, ITEM_DESCRIPTION, ITEM_TIME_DATE, ITEM_STATUS) 
        VALUES ('".$data['auid']."', '".$data['tasktitle']."', '".$data['taskdescription']."', TO_TIMESTAMP('".$data['taskdate']."', 'MM/DD/YYYY HH:MI AM'), 0)"));
}

为了测试上面的方法,我使用了这样的一些虚拟数据,它可以工作。

$this->oracledb->insert_task([
        'tasktitle' => 'Lorem ipsum dolor sit amet',
        'taskdescription' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto tempore sit, harum suscipit eum consequuntur.',
        'taskdate' => '01/02/2016 8:00 PM',
        'auid' => '1'
    ]));

上面的测试成功地将数据行插入到items表中,但是当我尝试使用Web表单插入数据时发生了一个奇怪的错误!

这是截图;在顶部,您可以看到从提交中收到的所有信息。

enter image description here

并发生此错误:

  

oci_parse():ORA-01756:引用字符串未正确终止

我在将查询执行之前打印到oracle服务器上,看起来很好!

  

INSERT INTO项目(ITEM_AUTHOR_ID,ITEM_TITLE,ITEM_DESCRIPTION,ITEM_TIME_DATE,ITEM_STATUS)               价值观('1','测试那里','Lorem ipsum dolor ... eum consequuntur。',TO_TIMESTAMP('01 / 02/2016 8:00 PM','MM / DD / YYYY HH:MI AM'), 0)

起初它似乎是一个addslashes()工作,但它也失败了!这有什么不对吗?

0 个答案:

没有答案