知识大全 在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数据库

如何在Python环境下连接Oracle数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首

知识大全 linux下php扩展mysqli的支持

  前两天一个站点转移过来因为给我的数据库有问题我也没有仔细处理这个站点今天把数据库弄好了发现还是用不了报的错误如下Fatalerror:Classmysqlinotfoundin原来是我之前在编译p

知识大全 Linux+Oracle数据库系统启动能有多快?

Linux+Oracle数据库系统启动能有多快?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 linux下oracle数据库的启动和关闭

  一启动  三个命令  sqlplux/nolog  connect/assysdba  startup  二关闭  shutdownimmediate;  [oracle@zhao~]$sqlpl

知识大全 Linux操作系统下的Oracle数据库编程详解

Linux操作系统下的Oracle数据库编程详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 学在oracle数据库中插入特殊符号

  oracle特殊字符的插入    环境配置:    server:linux    dbserver:oracle    clientos:windowspro    oracleclient:o

知识大全 讲解linux环境下Oracle的自动启动与停止

讲解linux环境下Oracle的自动启动与停止  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 几种常用PHP连接数据库的代码示例

几种常用PHP连接数据库的代码示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!PHP连接数据库之