php实现oracle操作

<?php
function Query($sql,$prms){
    $db = " (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SID=orcl) (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )";
    $db_uname = "xxx";
    $db_upass = "XXXXXX";
    $conn = oci_connect($db_uname, $db_upass, $db);
    $stmt = oci_parse($conn, $sql);
    if(is_array($prms)){
        foreach ($prms as $key => $val){
            oci_bind_by_name($stmt, $key, $val);
        }
    }
    oci_execute($stmt, OCI_DEFAULT);
    $rownum = oci_fetch_all($stmt, $result);
    oci_free_statement($stmt);
    oci_close($conn);
    return $result;
}

function BeginTran(){
    $db = " (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SID=orcl) (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )";
    $db_uname = "xxx";
    $db_upass = "xxx";
    $conn = oci_connect($db_uname, $db_upass, $db);
    return $conn;
}

function CloseConn($conn){
    oci_close($conn);
}

function Commit($conn){
    oci_commit($conn);
    CloseConn($conn);
}

function RollBack($conn){
    oci_rollback($conn);
    CloseConn($conn);
}
?>
<?php
require 'db.php';
// $res = Query("select * from customerinfo where rownum < 100", null);
// for($i = 0;$i< 99;$i++){
//     foreach ($res as $data){
//         echo $data[$i];
//     }
// }

$sql = "insert into hostparam (paramtype,paramvalue) values (:ptype,:pval)";
$conn = BeginTran();
$num = 0;
try {
    $stmt = oci_parse($conn, $sql);
    $ptype = "1";
    $pval = "2";
    oci_bind_by_name($stmt, ":ptype", $ptype);
    oci_bind_by_name($stmt, ":pval", $pval);
    oci_execute($stmt,OCI_DEFAULT);
    $num = oci_num_rows($stmt);
    Commit($conn);
} catch (Exception $e) {
    RollBack($conn);
}
echo  $num;
?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值