0

我有一些 PHP 代码通过 OCI8 库写入 Oracle 数据库。我有一个不会以编程方式执行的插入语句 - 如果我打印出该语句并通过 SquirrelSQL 运行它,它将成功插入数据。我在代码的其他地方有删除和选择语句,它们运行良好。可能是什么问题?正如我所说,如果我打印 $om_query 并手动运行它会成功插入。我没有收到任何其他错误。

$om_query = "INSERT INTO DB.TABLE(R1,R2) VALUES(V1,V2)";
$s2 = oci_parse($conn, $om_query);
$qs = oci_execute($s2);
oci_commit ($conn); 

if(!$qs){
    $ma = oci_error();
    $failedqueries .= '<br /><br />MAINQ: ' . $om_query . '<br /><b>OCI_ERROR_MSG: </b>' . $ma['message'];
}

oci_error()不附加任何有用的东西。

4

1 回答 1

-2

检查您是否在受影响的表上没有打开的事务。PL 可能正在尝试删除插入的记录。

在 Oracle 中,您必须在修改数据(无论是通过插入、更新还是删除)后执行 COMMIT 或 ROLLBACK 操作。

于 2015-03-18T18:49:24.617 回答