电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP與MYSQL數據庫連接

瀏覽:5日期:2024-07-09 13:42:45
通過PHP你可以輕松的連接到數據庫,請求數據并將其顯示在你的web站點中,甚至修改數據庫中的數據。MySQL是一種很流行的數據庫,并且在互聯網中有許多有關PHP與MySQL的教程。MySQL是免費的,這一點也許就吸引了不少人。由于其廣泛應用,我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業應用中采用,因此我們就利用Oracle來介紹PHP與數據庫的連接。我們當然不會提及Oracle數據庫的設計原理,原因是這已經超出了我們的討論范圍。PHP提供了兩套函數與Oracle連接,分別是ORA_和OCI函數。其中ORA_函數略顯陳舊。OCI函數更新據說更好一些。兩者的使用語法幾乎相差無幾。如前所述,你的PHP安裝選項應該可以支持兩者的使用。想獲得更多有關在Microsoft Windows平臺上安裝支持PHP3的Apache服務器的知識以及更多有關Oracle數據庫的知識,請查閱以下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數據庫名稱、用戶名稱和密碼連接數據庫。在成功連接的基礎上,ora_logon函數返回一個非零的連接ID并儲存在變量$conn中。查詢假設與數據庫已經連接就緒,下面我們就來實際的應用對數據庫的查詢。下面的代碼演示了一個連接并查詢的典型例子:<?/** 連接數據庫并執行查詢*/function printoraerr($in_cur){// 檢查Oracle是否出錯// 如果存在錯誤則顯示// 當指針被激活時每次請求Oracle后調用該函數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數據庫函數部分)顯示結果以下代碼演示了怎樣查詢數據庫并將結果輸出:<?function printoraerr($in_cur, $conn){// 檢查Oracle是否出錯// 如果存在錯誤則顯示// 當指針被激活時每次請求Oracle后調用該函數// 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數據庫函數部分)基于HTTP的Oracle登錄將以下代碼加在PHP頁面代碼之前以確認Oracle登錄。注意你必須正確設定$ 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;}}?>
標簽: PHP
相關文章:
主站蜘蛛池模板: 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 济南宣传册设计-画册设计_济南莫都品牌设计公司| 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 哔咔漫画网页版在线_下载入口访问指引| 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 液压油缸-液压站生产厂家-洛阳泰诺液压科技有限公司 | 广东青藤环境科技有限公司-水质检测| 宜兴市恺瑞德环保科技有限公司 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 广东西屋电气有限公司-广东西屋电气有限公司| 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 等离子空气净化器_医用空气消毒机_空气净化消毒机_中央家用新风系统厂家_利安达官网 | 包塑软管|金属软管|包塑金属软管-闵彬管业 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 |