php數(shù)據(jù)庫連接資料_第1頁
php數(shù)據(jù)庫連接資料_第2頁
php數(shù)據(jù)庫連接資料_第3頁
php數(shù)據(jù)庫連接資料_第4頁
php數(shù)據(jù)庫連接資料_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

php數(shù)據(jù)庫連接通過PHP你可以輕松的連接到數(shù)據(jù)庫,請求數(shù)據(jù)并將其顯示在你的web站點(diǎn)中,甚至修改數(shù)據(jù)庫中的數(shù)據(jù)。MySQL是一種很流行的數(shù)據(jù)庫,并且在互聯(lián)網(wǎng)中有許多有關(guān)PHP與MySQL的教程。MySQL是免費(fèi)的,這一點(diǎn)也許就吸引了不少人。由于其廣泛應(yīng)用,我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業(yè)應(yīng)用中采用,因此我們就利用Oracle來介紹PHP與數(shù)據(jù)庫的連接。我們當(dāng)然不會提及Oracle數(shù)據(jù)庫的設(shè)計(jì)原理,原因是這已經(jīng)超出了我們的討論范圍。PHP提供了兩套函數(shù)與Oracle連接,分別是ORA_和OCI函數(shù)。其中ORA_函數(shù)略顯陳舊。OCI函數(shù)更新?lián)f更好一些。兩者的使用語法幾乎相差無幾。如前所述,你的PHP安裝選項(xiàng)應(yīng)該可以支持兩者的使用。想獲得更多有關(guān)在MicrosoftWindows平臺上安裝支持PHP3的Apache服務(wù)器的知識以及更多有關(guān)Oracle數(shù)據(jù)庫的知識,請查閱以下URL:/~vsbabu/articles/oraphp.html。4.1連接if($conn=Ora_Logon("user@TNSNAME","password")){echo"SUCCESS!Connectedtodatabase";}else{echo"Failed:-(Couldnotconnecttodatabase";}Ora_Logoff($conn);phpinfo();?>以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle數(shù)據(jù)庫名稱、用戶名稱和密碼連接數(shù)據(jù)庫。在成功連接的基礎(chǔ)上,ora_logon函數(shù)返回一個(gè)非零的連接ID并儲存在變量$conn中。4.2查詢假設(shè)與數(shù)據(jù)庫已經(jīng)連接就緒,下面我們就來實(shí)際的應(yīng)用對數(shù)據(jù)庫的查詢。下面的代碼演示了一個(gè)連接并查詢的典型例子:以下是引用片段:/**連接數(shù)據(jù)庫并執(zhí)行查詢*/functionprintoraerr($in_cur){//檢查Oracle是否出錯(cuò)//如果存在錯(cuò)誤則顯示//當(dāng)指針被激活時(shí)每次請求Oracle后調(diào)用該函數(shù)if(ora_errorcode($in_cur))echo"Oraclecode-".ora_error($in_cur)."";return;}/**主程序*/if(!($conn=ora_logon("user@TNSNAME","password"))){echo"Connectiontodatabasefailed";exit;}echo"Connectedasconnection-$conn";echo"Openingcursor...";$cursor=ora_open($conn);printoraerr($cursor);echo"Openedcursor-$cursor";$qry="selectuser,sysdatefromdual";echo"Parsingthequery$qry...";ora_parse($cursor,$qry,0);printoraerr($cursor);echo"Queryparsed";echo"Executingcursor...";ora_exec($cursor);printoraerr($cursor);echo"Executedcursor";echo"Fetchingcursor...";while(ora_fetch($cursor)){$user=ora_getcolumn($cursor,0);printoraerr($cursor);$sysdate=ora_getcolumn($cursor,1);printoraerr($cursor);echo"row=$user,$sysdate";}echo"Fetchedallrecords";echo"Closingcursor...";ora_close($cursor);echo"Closedcursor";echo"Loggingofffromoracle...";ora_logoff($conn);echo"Loggedofffromoracle";?>(譯者注:以上代碼段缺少注釋,請讀者參考PHPManual的Oracle數(shù)據(jù)庫函數(shù)部分)4.3顯示結(jié)果以下代碼演示了怎樣查詢數(shù)據(jù)庫并將結(jié)果輸出:以下是引用片段:functionprintoraerr($in_cur,$conn){//檢查Oracle是否出錯(cuò)//如果存在錯(cuò)誤則顯示//當(dāng)指針被激活時(shí)每次請求Oracle后調(diào)用該函數(shù)//Ifitencounteredanerror,weexitimmediatelyif(ora_errorcode($in_cur)){echo"Oraclecode-".ora_error($in_cur)."n";ora_logoff($conn);exit;}return;}functionexequery($w_qry,$conn){$cursor=ora_open($conn);printoraerr($cursor,$conn);ora_parse($cursor,$w_qry,0);printoraerr($cursor,$conn);ora_exec($cursor);printoraerr($cursor,$conn);$numrows=0;$w_numcols=ora_numcols($cursor);//顯示頭部echo"";for($i=0;$i<$w_numcols;$i++){$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";echo"".ora_name($cursor,$i)."";}echo"";while(ora_fetch($cursor)){echo"";for($i=0;$i<$w_numcols;$i++){$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";if(ora_columntype($cursor,$i)=="LONG")echo"".ora_getcolumn($cursor,$i)."";elseecho"".ora_getcolumn($cursor,$i)."";printoraerr($cursor,$conn);}$numrows++;echo"";}if($numrows==0)echo"Queryreturnednorecords";else{echo"";echo"Count";echo"$numrows";echo"";}echo"";ora_close($cursor);return;}//主程序if(!($conn=ora_logon("user@SID","password"))){echo"Error:Cannotconnecttodatabase";exit;}$qry="SELECTdeptno\"Dept\",empno\"Emp\",empnm\"Name\",salary\"Salary\"FROMemployeeORDERBY1,2";exequery($qry);ora_logoff($conn);?>(譯者注:以上代碼段缺少注釋,請讀者參考PHPManual的Oracle數(shù)據(jù)庫函數(shù)部分)4.4基于HTTP的Oracle登錄將以下代碼加在PHP頁面代碼之前以確認(rèn)Oracle登錄。注意你必須正確設(shè)定$SID。if(!isset($PHP_AUTH_USER)){Header("WWW-authenticate:basicrealm=\"$SID\"");Header("HTTP/1.0401Unauthorized");$title="LoginInstructions";echo"Youarenotauthorizedtoenterthesite";exit;}else{if(!($conn=ora_logon("$PHP_AUTH_USER@$SID",

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論