PHP脚本在oci_执行时暂停

PHP脚本在oci_执行时暂停,php,oracle10g,Php,Oracle10g,我有一个脚本,其中包含将数据插入Oracle表的以下代码: $sql = "INSERT INTO EXAMPLE_TABLE (ID, FIELD, VAL) VALUES (:id, :test, :ok)"; $stid = oci_parse($conn, $sql); //die("parsed ok"); oci_bind_by_name($stid, ":id", $id); oci_bind_by_name($stid, ":test", $test); oci_bind_

我有一个脚本,其中包含将数据插入Oracle表的以下代码:

$sql = "INSERT INTO EXAMPLE_TABLE (ID, FIELD, VAL) VALUES (:id, :test, :ok)"; 

$stid = oci_parse($conn, $sql);
//die("parsed ok");

oci_bind_by_name($stid, ":id", $id);
oci_bind_by_name($stid, ":test", $test);
oci_bind_by_name($stid, ":ok", $ok);

//die("params bound");

$result =@oci_execute($stid);

if(!$result)
{               
   $err = oci_error($stid);
   $error = $err['message']; 
   echo $error; die('end error');
}

echo oci_num_rows($stid) . " rows inserted.<br />";
die("inserted");
$sql=“插入示例_表(ID,FIELD,VAL)值(:ID,:test,:ok)”;
$stid=oci_parse($conn$sql);
//die(“解析确定”);
oci按名称绑定($stid,“:id”,$id);
oci按名称绑定($stid,“:test”,$test);
oci按名称绑定($stid,“:ok”,$ok);
//死亡(“参数绑定”);
$result=@oci_execute($stid);
如果(!$result)
{               
$err=oci\U错误($stid);
$error=$err['message'];
echo$error;die('end error');
}
回显oci_num_行($stid)。“插入行。
”; 模具(“插入”);
脚本运行正常,然后就停止了。我加入了一些die语句,以找出脚本在哪里暂停。我能去的最后一个地方是“死(“params bound”)”

我已经验证了变量是否正确,数据库连接是否有效。我还使用sqldeveloper手动连接到数据库,没有问题


为什么这个脚本突然停滞不前?

正如经常发生的那样,在我发布这个问题后,我立即有了一个想法。我检查了GUI中打开的连接数,然后关闭了连接


事实证明,我在GUI中手动运行的一些查询中有一些未提交的更改,我认为这会使脚本在oci_execute上暂停。回滚更改并重新启动连接后,脚本现在可以正常工作。

如果删除静默操作符(
@
),会怎么样?