zoukankan      html  css  js  c++  java
  • php连接oracle数据库的方法

    1.在php.ini中打开extension=php_oci8扩展,重启服务。

    2.将php/ext目录下的php_oci8.dll文件拷贝到system32目录下

    3.安装 Oracle9i客户端精简版 后重启电脑

    配置:

    $config = array (
    
        'dbconfig' => 
              array (
                'db_host_name' => '192.168.2.197/orcl',
                'db_user_name' => 'zbkf',
                'db_password' => 'zbkf',
                 
              ),
    );

    查询:    

        //返回值  
        $arr_result = array(); 
        $arr_result['result'] = 'false';  //true false 为黑名单
        $arr_result['callerid'] = $callerid;  
         
        //取数据库参数
        $db_host_name=$config['dbconfig']['db_host_name']; //'localhost/ORCL''
        $db_user_name=$config['dbconfig']['db_user_name'];//'asgr'
        $db_pwd=$config['dbconfig']['db_password']; //'asgr'
    
        //连接Oracle
        $conn = oci_connect($db_user_name,$db_pwd,$db_host_name);//oci_connect('asgr','asgr','localhost/ORCL');
        if (!$conn) { 
            $e = oci_error(); 
            //print htmlentities($e['message']); 
            //WriteLog("连接Oracle时出错,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.")  ".htmlentities($e['message']));
            $arr_result['result'] = 'false';
            echo json_encode($arr_result);  //默认为不是黑名单
            return;
        } 
        else {
            //echo("连接成功!");
            //$select = 'SELECT BL_TEL FROM CC_BLACKLIST'; // 查询语句 
            $select = "Select count(BL_Tel) from CC_BlackList where BL_Tel like '%" . $callerid . "%' and BL_SFQY='0' ";
            //WriteLog($select);
            $result_rows = oci_parse($conn, $select); // 配置SQL语句,执行SQL
            $row_count = oci_execute($result_rows, OCI_DEFAULT); // 行数  OCI_DEFAULT表示不要自动commit 
            //echo($row_count);
            if(!$row_count) { //没有行
                $e = oci_error($result_rows); 
                //echo htmlentities($e['message']); 
                //WriteLog("查询时出错或没有行!,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.")  ". $select."  ".htmlentities($e['message']));
                $arr_result['result'] = 'false';
                echo json_encode($arr_result);  //默认为不是黑名单
            } 
            /*
            //取每行每列值 
            while($row = oci_fetch_array($result_rows, OCI_RETURN_NULLS)) {
                 if($row[0]==$callerid){
                    $arr_result['result']='true';
                    echo json_encode($arr_result);  //是黑名单
                    exit;
                 }
            }
            */
            $count=0;
            while($row = oci_fetch_array($result_rows, OCI_RETURN_NULLS)) {
                $count=$row[0];
                break;
            }
            //WriteLog($count);
            if($count>=1){
                $arr_result['result']='true';
            }
            else {
                $arr_result['result']='false';
            }
            echo json_encode($arr_result);  //默认为不是黑名单
        }

    插入:

        //连接Oracle
        $conn = oci_connect($db_user_name,$db_pwd,$db_host_name);//oci_connect('asgr','asgr','localhost/ORCL');
        if (!$conn) { 
            $e = oci_error(); 
            //print htmlentities($e['message']); 
            WriteLog("连接Oracle时出错,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.")  ".htmlentities($e['message']));
            $arr_result['result'] = 'false';
            echo json_encode($arr_result);  //默认为不是黑名单
            return;
        } 
        else {
            //echo("连接成功!");
            $sql = "insert into CC_LEAVEMESSAGE (ID,MESSAGEID,CALLINGNBR,LEAVEMESSAGETIME,FILENAME)  values (sys_guid(),'" . $SessionId . "','"  . $CallerId . "',sysdate,'" . $RecordFile . "')";
            //WriteLog($sql);
            $stid = oci_parse($conn, $sql); // 编译SQL语句,准备执行 
            $r = oci_execute($stid); // 执行SQL
    
            oci_free_statement($stid); 
            oci_close($con); //关闭连接
            //WriteLog($r);
            if(!$r) { 
                $e = oci_error($sql); 
                WriteLog("留言写入Oracle时出错,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.") " .$sql . '  '  .htmlentities($e['message']));
                $arr_result['result']='false';
            } 
            else{
                $arr_result['result']='true';
            }
  • 相关阅读:
    Oracle 行列转换
    Oracle中特殊的INSERT语句
    在.net中实现压缩多个文件为.zip文件 【转】
    JavaScript 原型链【转】
    Oracle安装中的DHCP问题
    每日一题力扣49
    每日一题力扣423
    每日一题力扣451
    每日一题力扣237
    每日一题力扣383
  • 原文地址:https://www.cnblogs.com/hailexuexi/p/5780560.html
Copyright © 2011-2022 走看看