zoukankan      html  css  js  c++  java
  • php连接oracle oracle开启扩展

    <?php

    /**

    * 由于公司的需要,使用php+oracle开发项目,oracle因为有专门人员开发设计,我们只需远程调用

    *于是乎遇到了蛋疼的问题就是开启oracle扩展的问题,虽然你在php.ini文件中打开了extension=php_oci8.dll

    *单身在phpinfo中仍然看不到oracle扩展,这样oracle的操作方法就不能用,

    *于是就要去oracle官方网上下载一个文件包 instantclient-basic-nt-11.2.0.3.0.zip

    *解压到任意地方,然后将D:instantclient这个地址配置到环境变量里面这样*oracle的扩展就会开启,自然方法都可以使用了,就像用mysql一样了

    *当然数据库连接类还是需要的于是我就写了一个php连接oracle的类如下

    */

     

     

    class oracle{

           public $user//用户

           public $pass//密码

           public $dbname;//数据库

            

           public function __construct($user='lms',$pass='lms',$dbname='192.168.2.77ot'){

                  $this->user=$user;

                  $this->pass=$pass;

                  $this->dbname=$dbname;

           }

           //连接数据库

           function conn(){

                  $link = oci_connect($this->user,$this->pass,$this->dbname);

                  return $link;

           }

            

            

           public function oracle_fetch_all($sql,$status='1'){

                  $link = $this->conn();

                  if(!$status){

                         echo $sql."<br/>";

                  }

                  $stmt = oci_parse($link,$sql);

                  $r = oci_execute($stmt);

                  if (!$r ){

                         $this->oracle_error($stmt);

                  }

                  while(!!$row = oci_fetch_array($stmt,OCI_BOTH)){

                         $data[] = $row;

                  }

                  return $data;

           }

            

            

            

           public function oracle_fetch_row($sql,$status='1'){

                  $link = $this->conn();

                  if(!$status){

                         echo $sql."<br/>";

                  }

                  $stid = oci_parse($link, $sql);

                  $r = oci_execute($stid);

                  if (!$r){

                         $this->oracle_error($stid);

                  }

                  $data = oci_fetch_assoc($stid);

                  return $data;

           }

                   

            

           public function oracle_query($sql){

                  $link = $this->conn();

                  $stmt = oci_parse($link,$sql);

                  $r = oci_execute($stmt,OCI_DEFAULT);

                  if (!$r ){

                         $this->oracle_error($stid);

                  }

                  return $r;

           }

                   

                   

           public function oracle_commit(){

                  $link = $this->conn();

                  $committed = oci_commit($link);

                  return $committed;

           }

            

            

           public function oracle_error($stid){

                  if (!empty($stid)){

                         $e = oci_error($stid);

                         trigger_error(htmlentities($e['message']), E_USER_ERROR);

                  }

           }

            

            

           public function oracle_rollback(){

                  $link = $this->conn();

                  if (!empty($link)){

                         $r = oci_rollback($link);

                  }

                  return $r;

           }

     

    }

     

    $oracle = new oracle();

    $sql = "SELECT * from T_LMS_USERS where USERID='2'";

    $data = $oracle->oracle_fetch_row($sql,0);

    print_r ($data);

     

          

    ?>

  • 相关阅读:
    @Aspect 注解使用详解
    Mysql的4个隔离级别
    【学习笔记】二分类问题中的“最大似然”与“交叉熵损失”概念的理解
    【转】对“先验概率”与“后验概率”概念的通俗理解
    nginx——安装部署vue项目
    JWT
    Vue——自定义组件实现vmodel
    Vue——子级向父级传递参数
    SpringBoot2(十四)全局异常切面
    Vue——ElementUI表格分页
  • 原文地址:https://www.cnblogs.com/semonxv/p/3831573.html
Copyright © 2011-2022 走看看