zoukankan      html  css  js  c++  java
  • 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;
    ?>
  • 相关阅读:
    94、二叉树的中序遍历 | JS
    102、二叉树的层序遍历 | JS
    111、二叉树的最小深度 | JS
    二叉树的先中后序遍历-JS非递归实现
    二叉树的先中后序遍历-JS递归实现
    深度和广度优先遍历-JS实现
    76、最小覆盖子串 | JS-字典
    extra1 二分查找与二叉判定树
    02 线性表的顺序存储
    原型、原型链、作用域、作用域链、闭包
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/4670839.html
Copyright © 2011-2022 走看看