博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php连接oracle oracle开启扩展
阅读量:4843 次
发布时间:2019-06-11

本文共 1966 字,大约阅读时间需要 6 分钟。

<?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);

 

      

?>

转载于:https://www.cnblogs.com/semonxv/p/3831573.html

你可能感兴趣的文章
css 在各种浏览器兼容调整
查看>>
三元环、四元环计数
查看>>
SpringBoot
查看>>
【mark】linux查看端口占用
查看>>
String的trim()用于去掉字符串前后的空格
查看>>
jquery相关代码
查看>>
USACO 2.3 Zero Sum
查看>>
android 工具类 DateUtil
查看>>
EM算法原理
查看>>
高速排序算法
查看>>
EJB究竟是什么,真的那么神奇吗??
查看>>
数据结构——集合有关
查看>>
NSCondition
查看>>
常用单词7
查看>>
html5中input的type类型有哪些(总结)
查看>>
(转)dp动态规划分类详解
查看>>
手机归属地查询
查看>>
关于运动
查看>>
GridView的RowCommand事件传两个或以上参数
查看>>
剑指Offer编程题2——替换空格
查看>>