初學PHP 使用OCI連線Oracle

2021-09-30 15:36:03 字數 2683 閱讀 3587

1、讓php支援oci,只需如下幾步:

首先,安裝php的整合執行環境,或者理解為伺服器吧,我安裝的是名叫wampserver的,安裝好後,從安裝目錄中找到php.ini檔案,比如我本地的路徑是d:\wamp\bin\php\php5.3.3

,將php.ini

中的php_oci8.dll

的;去掉,也就是把注釋去掉,相當於可以使用php_oci8了。

2、然後wampserver執行後,將php>php extentions中將php_oci8打上勾。

2、安裝的有oracle客戶端,並且在oracle

安裝配置檔案,tnsnames.ora

檔案,此檔案路徑是安裝oracle的路徑,比如我本機的是

f:\oracle\product\10.2.0\client_1\network\admin 

,所連的200

資料庫,其中的配置詳情如下:

200 =

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.1.200)(port = 1521)) )

(connect_data =

(service_name = tongcard) )

)以下是使用php的oci得到db的方法,與上面的tnsnames.ora檔案非常類似:

$db = " (description = (address = (protocol = tcp)(host = $host)(port = $port)) (connect_data = (sid=$sid) (server = dedicated) (service_name = $sname) ) )";

比照以上的兩片**可以發現:

connect_data =(service_name = tongcard)

connect_data = (sid=$sid)

service_name

名為tongcard, sid

就是service_name

的值。

下面是乙個例子,驗證是否連線資料庫成功,因為想以最快速度驗證使用php的oci連線資料庫成功,所以沒有寫html頁面,直接模擬了乙個登入,將所需要的引數以變數形式傳入。

<?php /* * to change this template, choose tools | templates * and open the template in the editor. */ //以下是變數(資料庫連線的配置) $host = "192.168.1.200"; $port = "1521"; $sid = "tongcard"; $sname = "tongcard"; $db_user = "tmp2120723"; $db_pwd = "ceshi"; //以下是模擬登入,輸入的引數為使用者名稱和密碼。此處為了簡便沒有寫html頁面, //將user_pass作為輸入的值傳入,為了驗證連線資料庫是否成功。 $username ='admin'; $user_pass ='123456'; $user_id = '01040010001.admin'; if (!($conn = connect_oracle2($host, $port, $sid, $sname, $db_user, $db_pwd))) $qry = "select * from tmp2120723.admin_users t where t.user_id=:userid and t.login_name = :loginname"; $sql = oci_parse($conn, $qry);//查詢轉換 oci_bind_by_name($sql, ":loginname", $username, 32);//查詢語句$sql,條件所需要的引數loginname,值為$username,長度為32.長度可以不寫 oci_bind_by_name($sql, ":userid",$user_id );//$sql查詢語句,所需要的引數userid,值 為$user_id變數的值, echo "

"; oci_execute($sql);//執行sql $row = array();//查詢都是返回array() while ($result = oci_fetch_array($sql, oci_assoc)) else } } } //連線資料庫方法 function connect_oracle2($host, $port, $sid, $sname, $db_user, $db_pwd) ?>

執行該檔案,我是將此檔案放入到wamp的d:\wamp\www\裡面,其實這只是乙個檔案,並不是乙個專案,最初為了驗證如果不將此檔案直接放在wamp的www,而是放在乙個資料夾裡,該如何訪問,因此增加了乙個testing的資料夾,將此檔案放入到testing目錄下,我的檔案名叫testone.php

準備進緒,開始訪問:

這裡值得一提的是,php的訪問,在預設為8080埠時,不需要在localhost後面加:8080,假如沒有testing資料夾,則直接是http://localhost/testone.php

訪問結果:

初學php連線mysql (loading)

mysql資料庫是用於存放資料 dbms 資料庫管理系統 mysql資料庫的三層結構 php程式 dbms dbms 響應的資料庫表內容 mysql擴充套件庫是一堆函式,是php設計者提供給程式設計師用於完成對mysql資料庫的各種操作 crud varchar 12 可變空間 使用php的mysq...

php 連線sybase 初學者入門

剛剛搞定,php連線sybase資料庫問題,就幾點問題總結下,希望剛剛開始學的有點用.2 安裝,建立服務.3 php連線 1 配置環境 檢查ext裡有沒 php sybase ct.dll檔案.2 php.ini 中 extension php sybase ct.dll 去掉前面的 sybase....

php使用ODBC連線sqlserver問題

使用odbc error 檢測資料庫連線問題 if odbc error 我遇到的問題是連線成功了,但查詢乙個資料表總是失敗,查詢其它的表報錯。但我在apache配置的環境下沒有問題,但nginx下總是不行,一直懷疑是環境的問題,實際是php版本的問題 開啟php.ini,將display erro...