知识大全 在LINUX环境中用PHP连接Oracle数据库
Posted 数据库
篇首语:书史足自悦,安用勤与劬。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在LINUX环境中用PHP连接Oracle数据库相关的知识,希望对你有一定的参考价值。
在LINUX环境中用PHP连接Oracle数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
通过PHP你可以轻松的连接到数据库 请求数据并将其显示在你的web站点中 甚至修改数据库中的数据 MySQL是一种很流行的数据库 并且在互联网中有许多有关PHP与MySQL的教程 MySQL是免费的 这一点也许就吸引了不少人 由于其广泛应用 我就不想在这里赘述MySQL的使用方法了 Oracle被大量在企业应用中采用 因此我们就利用Oracle来介绍PHP与数据库的连接 我们当然不会提及Oracle数据库的设计原理 原因是这已经超出了我们的讨论范围 PHP提供了两套函数与Oracle连接 分别是ORA_和OCI函数 其中ORA_函数略显陈旧 OCI函数更新据说更好一些 两者的使用语法几乎相差无几 你的PHP安装选项应该可以支持两者的使用 连接 < ? if ($conn=Ora_Logon( user@TNSNAME password )) echo SUCCESS ! Connected to database\\n ; else echo Failed : ( Could not connect to database\\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 failed\\n ; exit; echo Connected as connection $conn \\n ; echo Opening cursor \\n ; $cursor=ora_open($conn); printoraerr($cursor); echo Opened cursor $cursor \\n ; $qry= select user sysdate from dual ; echo Parsing the query $qry \\n ; ora_parse($cursor $qry ); printoraerr($cursor); echo Query parsed \\n ; echo Executing cursor \\n ; ora_exec($cursor); printoraerr($cursor); echo Executed cursor \\n ; echo Fetching cursor \\n ; while(ora_fetch($cursor)) $user=ora_getcolumn($cursor ); printoraerr($cursor); $sysdate=ora_getcolumn($cursor ); printoraerr($cursor); echo row = $user $sysdate \\n ; echo Fetched all records \\n ; echo Closing cursor \\n ; ora_close($cursor); echo Closed cursor \\n ; echo Logging off from oracle \\n ; ora_logoff($conn); echo Logged off from oracle \\n ; ?> 显示结果 以下代码演示了怎样查询数据库并将结果输出 function printoraerr($in_cur $conn) // 检查Oracle是否出错 // 如果存在错误则显示 // 当指针被激活时每次请求Oracle后调用该函数 // If it encountered an error we exit immediately if(ora_errorcode($in_cur)) echo Oracle code ora_error($in_cur) n ; ora_logoff($conn); exit; return; function exequery($w_qry $conn) $cursor=ora_open($conn); printoraerr($cursor $conn); ora_parse($cursor $w_qry ); printoraerr($cursor $conn); ora_exec($cursor); printoraerr($cursor $conn); $numrows= ; $w_numcols=ora_numcols($cursor); // 显示头部 echo \\n ; for ($i= ;$i<$w_numcols;$i++) $align=(ora_columntype($cursor $i)== NUMBER )? RIGHT : LEFT ; echo \\t ora_columnname($cursor $i) \\n ; echo \\n ; while(ora_fetch($cursor)) echo \\n ; for ($i= ;$i<$w_numcols;$i++) $align=(ora_columntype($cursor $i)== NUMBER )? RIGHT : LEFT ; if(ora_columntype($cursor $i)== LONG ) echo ora_getcolumn($cursor $i) \\n ; else echo ora_getcolumn($cursor $i) \\n ; printoraerr($cursor $conn); $numrows++; echo \\n ; if ($numrows== ) echo Query returned no records \\n ; else echo \\n ; echo Count \\n ; echo $numrows \\n ; echo \\n ; echo \\n ; ora_close($cursor); return; // 主程序 if(!($conn=ora_logon( user@SID password ))) echo Error: Cannot connect to database\\n ; exit; $qry= SELECT deptno \\ Dept\\ empno \\ Emp\\ empnm \\ Name\\ salary \\ Salary\\ FROM employee ORDER BY ; exequery($qry); ora_logoff($conn); ?> 基于HTTP的Oracle登录 将以下代码加在PHP页面代码之前以确认Oracle登录 注意你必须正确设定$ SID if(!isset($PHP_AUTH_USER)) Header( WWW authenticate: basic realm=\\ $SID\\ ); Header( HTTP/ Unauthorized ); $title= Login Instructions ; echo You are not authorized to enter the site \\n ; exit; else if (!($conn=ora_logon( $PHP_AUTH_USER@$SID $PHP_AUTH_PW))) Header( WWW authenticate: basic realm=\\ $SID\\ ); Header( HTTP/ Unauthorized ); $title= Login Instructions ; echo You are not authorised to enter the site \\n ; exit; ?> cha138/Article/program/Java/hx/201311/25865相关参考
知识大全 在64位Linux环境下安装Oracle数据库10g
在64位Linux环境下安装Oracle数据库10g 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 在 Linux 上安装 Oracle、PHP 和 Apache
在Linux上安装Oracle、PHP和Apache 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如何在Python环境下连接Oracle数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首
前两天一个站点转移过来因为给我的数据库有问题我也没有仔细处理这个站点今天把数据库弄好了发现还是用不了报的错误如下Fatalerror:Classmysqlinotfoundin原来是我之前在编译p
Linux+Oracle数据库系统启动能有多快? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一启动 三个命令 sqlplux/nolog connect/assysdba startup 二关闭 shutdownimmediate; [oracle@zhao~]$sqlpl
Linux操作系统下的Oracle数据库编程详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
oracle特殊字符的插入 环境配置: server:linux dbserver:oracle clientos:windowspro oracleclient:o
讲解linux环境下Oracle的自动启动与停止 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
几种常用PHP连接数据库的代码示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!PHP连接数据库之