日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > php教程 > php數(shù)據(jù)庫(kù)連接

php數(shù)據(jù)庫(kù)連接

來(lái)源:程序員人生   發(fā)布時(shí)間:2013-12-14 19:34:47 閱讀次數(shù):2857次

通過(guò)PHP你可以輕松的連接到數(shù)據(jù)庫(kù),請(qǐng)求數(shù)據(jù)并將其顯示在你的web站點(diǎn)中,甚至修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)。MySQL是一種很流行的數(shù)據(jù)庫(kù),并且在互聯(lián)網(wǎng)中有許多有關(guān)PHP與MySQL的教程。MySQL是免費(fèi)的,這一點(diǎn)也許就吸引了不少人。由于其廣泛應(yīng)用,我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業(yè)應(yīng)用中采用,因此我們就利用Oracle來(lái)介紹PHP與數(shù)據(jù)庫(kù)的連接。我們當(dāng)然不會(huì)提及Oracle數(shù)據(jù)庫(kù)的設(shè)計(jì)原理,原因是這已經(jīng)超出了我們的討論范圍。

PHP提供了兩套函數(shù)與Oracle連接,分別是ORA_和OCI函數(shù)。其中ORA_函數(shù)略顯陳舊。OCI函數(shù)更新?lián)f(shuō)更好一些。兩者的使用語(yǔ)法幾乎相差無(wú)幾。如前所述,你的PHP安裝選項(xiàng)應(yīng)該可以支持兩者的使用。

4.1 連接

  1.  
  2. if ($conn=Ora_Logon("user@TNSNAME","password"))  
  3. {  
  4. echo "SUCCESS ! Connected to database ";  
  5. }  
  6. else 
  7. {  
  8. echo "Failed :-( Could not connect to database ";  
  9. }  
  10. Ora_Logoff($conn);  
  11. phpinfo();  
  12. ?> 

以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle數(shù)據(jù)庫(kù)名稱(chēng)、用戶(hù)名稱(chēng)和密碼連接數(shù)據(jù)庫(kù)。在成功連接的基礎(chǔ)上,ora_logon函數(shù)返回一個(gè)非零的連接ID并儲(chǔ)存在變量$conn中。

4.2 查詢(xún)

假設(shè)與數(shù)據(jù)庫(kù)已經(jīng)連接就緒,下面我們就來(lái)實(shí)際的應(yīng)用對(duì)數(shù)據(jù)庫(kù)的查詢(xún)。下面的代碼演示了一個(gè)連接并查詢(xún)的典型例子:
以下是引用片段:

  1.  
  2. /*
  3. * 連接數(shù)據(jù)庫(kù)并執(zhí)行查詢(xún)  
  4. */ 
  5. function printoraerr($in_cur)  
  6. {  
  7. // 檢查Oracle是否出錯(cuò)  
  8. // 如果存在錯(cuò)誤則顯示  
  9. // 當(dāng)指針被激活時(shí)每次請(qǐng)求Oracle后調(diào)用該函數(shù)  
  10. if(ora_errorcode($in_cur))  
  11. echo "Oracle code - ".ora_error($in_cur)." ";  
  12. return;  
  13. }  
  14. /** 主程序 */ 
  15. if (!($conn=ora_logon("user@TNSNAME","password")))  
  16. {  
  17. echo "Connection to database failed ";  
  18. exit;  
  19. }  
  20. echo "Connected as connection - $conn 
  21. ";  
  22. echo "Opening cursor ...  
  23. ";  
  24. $cursor=ora_open($conn); printoraerr($cursor);  
  25. echo "Opened cursor - $cursor 
  26. ";  
  27. $qry="select user,sysdate from dual";  
  28. echo "Parsing the query $qry ...  
  29. ";  
  30. ora_parse($cursor,$qry,0); printoraerr($cursor);  
  31. echo "Query parsed  
  32. ";  
  33. echo "Executing cursor ...  
  34. ";  
  35. ora_exec($cursor); printoraerr($cursor);  
  36. echo "Executed cursor  
  37. ";  
  38. echo "Fetching cursor ...  
  39. ";  
  40. while(ora_fetch($cursor))  
  41. {  
  42. $user=ora_getcolumn($cursor,0); printoraerr($cursor);  
  43. $sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);  
  44. echo " row = $user$sysdate 
  45. ";  
  46. }  
  47. echo "Fetched all records  
  48. ";  
  49. echo "Closing cursor ...  
  50. ";  
  51. ora_close($cursor);  
  52. echo "Closed cursor  
  53. ";  
  54. echo "Logging off from oracle...  
  55. ";  
  56. ora_logoff($conn);  
  57. echo "Logged off from oracle  
  58. ";  
  59. ?> 

(譯者注:以上代碼段缺少注釋?zhuān)?qǐng)讀者參考PHP Manual的Oracle數(shù)據(jù)庫(kù)函數(shù)部分)

4.3 顯示結(jié)果

以下代碼演示了怎樣查詢(xún)數(shù)據(jù)庫(kù)并將結(jié)果輸出:以下是引用片段:

  1. function printoraerr($in_cur$conn)  
  2. {  
  3. // 檢查Oracle是否出錯(cuò)  
  4. // 如果存在錯(cuò)誤則顯示  
  5. // 當(dāng)指針被激活時(shí)每次請(qǐng)求Oracle后調(diào)用該函數(shù)  
  6. // If it encountered an error, we exit immediately  
  7. if(ora_errorcode($in_cur))  
  8. {  
  9. echo "Oracle code - ".ora_error($in_cur)."  
  10. n";  
  11. ora_logoff($conn);  
  12. exit;  
  13. }  
  14. return;  
  15. }  
  16. function exequery($w_qry,$conn)  
  17. {  
  18. $cursor=ora_open($conn); printoraerr($cursor,$conn);  
  19. ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);  
  20. ora_exec($cursor); printoraerr($cursor,$conn);  
  21. $numrows=0;  
  22. $w_numcols=ora_numcols($cursor);  
  23. // 顯示頭部  
  24. echo "  
  25. ";  
  26. for ($i=0;$i<$w_numcols;$i++)  
  27. {  
  28. $align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";  
  29. echo " ".ora_columnname($cursor,$i)." ";  
  30. }  
  31. echo "  
  32. ";  
  33. while(ora_fetch($cursor))  
  34. {  
  35. echo " ";  
  36. for ($i=0;$i<$w_numcols;$i++)  
  37. {  
  38. $align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";  
  39. if(ora_columntype($cursor,$i)=="LONG")  
  40. echo " ".  
  41. ora_getcolumn($cursor,$i)."  
  42. ";  
  43. else 
  44. echo " ".ora_getcolumn($cursor,$i)." ";  
  45. printoraerr($cursor,$conn);  
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線(xiàn)----------------------------
分享到:
------分隔線(xiàn)----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 青青草福利 | 久久久国产精品一区二区三区 | 国产精品一区二 | 国产三级三级三级精品8ⅰ区 | 亚州精品国产 | 爱爱视频在线观看 | 欧美日韩中文在线 | 性视频在线 | 九九热av| 日韩av在线看 | 夜夜操网站 | 亚洲成人在线视频播放 | 黄色网av| 欧美日韩一区不卡 | 欧美大吊视频 | 精品一性一色一乱农村 | 久久精品屋| av在线毛片| 成人午夜在线观看 | 欧美人交a欧美精品 | 久久精品毛片 | 日韩91| 欧美 亚洲 另类 激情 另类 | 欧美精品成人一区二区三区四区 | 成人国产精品一区二区免费麻豆 | 日韩成人精品 | 欧美精三区欧美精三区 | 国产在线一区二区三区 | 国产精品久久网 | 日韩av黄色 | 中文字幕精品久久一区二区三区 | 精品成人69xx.xyz | 9999精品 | 成人午夜免费视频 | 欧美99久久精品乱码影视 | 精品在线一区二区三区 | 国产精彩av | 亚洲成人精品 | 国产精品久久久久久亚洲调教 | 亚洲一区二区三区在线视频 | 国产毛片一区二区三区 |