用PHP连接Oracle数据库

2016-01-29 15:00 2 1 收藏

用PHP连接Oracle数据库,用PHP连接Oracle数据库

【 tulaoshi.com - PHP 】

    通过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 databasen"; 
}else 
{echo "Failed :-( Could not connect to databasen";} 
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 - $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,0); 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,0); printoraerr($cursor); 
$sysdate=ora_getcolumn($cursor,1); 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,0); printoraerr($cursor,$conn); 
ora_exec($cursor); printoraerr($cursor,$conn); 
$numrows=0; 
$w_numcols=ora_numcols($cursor); <

来源:https://www.tulaoshi.com/n/20160129/1494992.html

延伸阅读
标签: Web开发
用ORACLE9i、oracle8、有很长的一段时间,我把用于JSP中需要注意的问题在这里写出来,仅供大家参考了。 一、如何去处理Clob、BLOB的大类型 CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据: getCharacterStream() 方法返回按unicode编码的输入流(java.io...
【1】首先下载驱动:(cx_Oracle) http://www.python.net/crew/atuining/cx_Oracle/ 不过要注意一下版本,根据你的情况加以选择。 【2】安装: 执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到{PYTHON_HOME}\Lib\site-packages目录下。 【3】执行一段测试程序: import cx_Oracle con = cx_Oracle.connect( ...
在专用连接方式中,每一个连接到数据库服务器的客户端请求,服务器会和客户端之间建立起连接,这个连接用于专门处理该客户端的所有请求,直到用户主动断开连接或网络出现中断。在连接处于空闲时,后台进程PMON会每隔一段时间,就会测试用户连接状况,如果连接已断开,PMON会清理现场,释放相关的资源。 专用连接相当于一对一的连接,能够快...
标签: PHP
  利用OCI向数据表 'email_info' 输入数据 同上,只不过用OCI来写   相关PHP代码: if ($submit == "click"){   // The submit button was clicked!   // Get the input for fullname and email then store it in the database.   PutEnv("ORACLE_SID=ORASID"); &...
标签: PHP
  在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括Oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库。   PHP提供了2大类API(应用程序接口)来操作Oracle数据库。一个是标准的Oracle处理函数(ORA) 另一个是Oracle 8调用接口函数(OCI8). 后者只能在Oracle 7或8版本上使用。 由于OCI...

经验教程

156

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部