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

 

      

?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM