oracle中事务从上一个commit或rollback开始;
但是MySQL中事务的开始必须要有START TRANSACTION;这才标志着一个事物的开始,否则使用rollback是无法回滚数据的。
oci_execute 加上OCI_DEFAULT常量后才能回滚到第一个加了此常量的oci_execute, 原因是不加这个常量的时会自动执行并提交事务, 事务一旦被提交就无法回滚到此处.
$parse = oci_parse($connect, $sql);
$res = oci_execute($parse, OCI_DEFAULT);
if($res){
oci_commit($connect);
}else{
oci_rollback($connect);
}