av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

PHP與MYSQL數(shù)據(jù)庫連接

瀏覽:4日期:2024-07-09 13:42:45
通過PHP你可以輕松的連接到數(shù)據(jù)庫,請求數(shù)據(jù)并將其顯示在你的web站點中,甚至修改數(shù)據(jù)庫中的數(shù)據(jù)。MySQL是一種很流行的數(shù)據(jù)庫,并且在互聯(lián)網(wǎng)中有許多有關(guān)PHP與MySQL的教程。MySQL是免費的,這一點也許就吸引了不少人。由于其廣泛應(yīng)用,我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業(yè)應(yīng)用中采用,因此我們就利用Oracle來介紹PHP與數(shù)據(jù)庫的連接。我們當(dāng)然不會提及Oracle數(shù)據(jù)庫的設(shè)計原理,原因是這已經(jīng)超出了我們的討論范圍。PHP提供了兩套函數(shù)與Oracle連接,分別是ORA_和OCI函數(shù)。其中ORA_函數(shù)略顯陳舊。OCI函數(shù)更新?lián)f更好一些。兩者的使用語法幾乎相差無幾。如前所述,你的PHP安裝選項應(yīng)該可以支持兩者的使用。想獲得更多有關(guān)在Microsoft Windows平臺上安裝支持PHP3的Apache服務(wù)器的知識以及更多有關(guān)Oracle數(shù)據(jù)庫的知識,請查閱以下URL:www.csoft.net/~vsbabu/articles/oraphp.html。連接<? if ($conn=Ora_Logon("user@TNSNAME","password")) {echo "<B>SUCCESS ! Connected to database<B>n";} else {echo "<B>Failed :-( Could not connect to database<B>n";}Ora_Logoff($conn);phpinfo();?>以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle數(shù)據(jù)庫名稱、用戶名稱和密碼連接數(shù)據(jù)庫。在成功連接的基礎(chǔ)上,ora_logon函數(shù)返回一個非零的連接ID并儲存在變量$conn中。查詢假設(shè)與數(shù)據(jù)庫已經(jīng)連接就緒,下面我們就來實際的應(yīng)用對數(shù)據(jù)庫的查詢。下面的代碼演示了一個連接并查詢的典型例子:<?/** 連接數(shù)據(jù)庫并執(zhí)行查詢*/function printoraerr($in_cur){// 檢查Oracle是否出錯// 如果存在錯誤則顯示// 當(dāng)指針被激活時每次請求Oracle后調(diào)用該函數(shù)if(ora_errorcode($in_cur))echo "Oracle code - ".ora_error($in_cur)."n";return;}/** 主程序 */if (!($conn=ora_logon("user@TNSNAME","password"))) {echo "Connection to database failedn";exit;}echo "Connected as connection - <b>$conn</b><br>n";echo "Opening cursor ...<br>n";$cursor=ora_open($conn); printoraerr($cursor);echo "Opened cursor - <b>$cursor</b><br>n";$qry="select user,sysdate from dual";echo "Parsing the query <b>$qry</b> ...<br>n";ora_parse($cursor,$qry,0); printoraerr($cursor);echo "Query parsed <br>n";echo "Executing cursor ...<br>n";ora_exec($cursor); printoraerr($cursor);echo "Executed cursor<br>n";echo "Fetching cursor ...<br>n";while(ora_fetch($cursor)){$user=ora_getcolumn($cursor,0); printoraerr($cursor);$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);echo " row = <B>$user, $sysdate </B><br>n";}echo "Fetched all records<br>n";echo "Closing cursor ...<br>n";ora_close($cursor);echo "Closed cursor<br>n";echo "Logging off from oracle... <br>n";ora_logoff($conn);echo "Logged off from oracle <br>n";?>(譯者注:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle數(shù)據(jù)庫函數(shù)部分)顯示結(jié)果以下代碼演示了怎樣查詢數(shù)據(jù)庫并將結(jié)果輸出:<?function printoraerr($in_cur, $conn){// 檢查Oracle是否出錯// 如果存在錯誤則顯示// 當(dāng)指針被激活時每次請求Oracle后調(diào)用該函數(shù)// If it encountered an error, we exit immediatelyif(ora_errorcode($in_cur)) {echo "Oracle code - ".ora_error($in_cur)."<br>n";ora_logoff($conn);exit;}return;}function exequery($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 "<TABLE WIDTH="100%" BORDER="0" CELLSPACING="1" CELLPADDING="2"><TR>n";for ($i=0;$i<$w_numcols;$i++){$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";echo "t<TH VALIGN=TOP ALIGN=$align>".ora_columnname($cursor,$i)."</TH>n";}echo "</TR>n";while(ora_fetch($cursor)){echo "<TR>n";for ($i=0;$i<$w_numcols;$i++) {$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";if(ora_columntype($cursor,$i)=="LONG")echo "<TD VALIGN=TOP ALIGN=$align><PRE>".ora_getcolumn($cursor,$i)."</PRE></TD>n";elseecho "<TD VALIGN=TOP ALIGN=$align>".ora_getcolumn($cursor,$i)."</TD>n";printoraerr($cursor,$conn);}$numrows++;echo "</TR>n";}if ($numrows==0)echo "<TR><TD COLSPAN="$w_numcols"><B>Query returned no records</B></TD></TR>n";else {echo "<TR>n";echo "<TH COLSPAN="".($w_numcols-1)."" ALIGN=RIGHT>Count</TH>n";echo "<TH ALIGN=RIGHT>$numrows</TH>n";echo "</TR>n";}echo "</TABLE>n";ora_close($cursor);return;}// 主程序if(!($conn=ora_logon("user@SID","password"))) {echo "Error: Cannot connect to databasen";exit;}$qry="SELECTdeptno "Dept",empno "Emp",empnm "Name",salary "Salary"FROMemployeeORDER BY 1,2";exequery($qry);ora_logoff($conn);?>(譯者注:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle數(shù)據(jù)庫函數(shù)部分)基于HTTP的Oracle登錄將以下代碼加在PHP頁面代碼之前以確認(rèn)Oracle登錄。注意你必須正確設(shè)定$ SID。<? if(!isset($PHP_AUTH_USER)) {Header("WWW-authenticate: basic realm="$SID"");Header("HTTP/1.0 401 Unauthorized");$title="Login Instructions";echo "<blockquote>You are not authorized to enter the site</blockquote> n";exit;} else {if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW))) {Header("WWW-authenticate: basic realm="$SID"");Header("HTTP/1.0 401 Unauthorized");$title="Login Instructions";echo "<blockquote>You are not authorised to enter the site</blockquote> n";exit;}}?>
標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 日韩久久精品视频 | 黄色片av | 免费在线一区二区 | 欧美激情精品久久久久 | 中文字幕精品一区二区三区精品 | 国产精品久久国产精品久久 | 国产探花 | 欧美一极视频 | 成人免费看 | 国产精品永久免费视频 | 国产高清免费 | 激情久久av一区av二区av三区 | 人人鲁人人莫人人爱精品 | 国产在线观看免费 | 亚洲精品乱码 | 国产精品黄色 | 日韩国产一区 | 一级毛片色一级 | 欧美爱爱视频网站 | 亚洲一区 中文字幕 | 国产精品久久毛片av大全日韩 | 美女天天操 | 国产精品永久在线观看 | 激情五月婷婷 | 狠狠干网站 | 久久久99精品免费观看 | 欧美久久久久 | 欧美视频网 | 精品视频国产 | 日批免费在线观看 | 夜夜骚视频 | 国产精品久久久久久52avav | 欧美成人一区二区三区片免费 | 国产精品久久一区 | 欧美黄色片在线观看 | 一区二区三区精品在线 | 亚洲精品乱码久久久久久蜜桃91 | 日本三级线观看 视频 | 亚洲激情网站 | 黄网站免费在线观看 | 精品国偷自产在线 |