不使用OCI8接口如何连接PHP和Oracle

发表于:2007-05-25来源:作者:点击数: 标签:接口oraclephpOCI8连接
br> 随着网站规模的扩大,MySql显然不能满足 需求 ,在许多网站都采用大型 数据库 Oracle的情况下,如何使用 PHP 来访问Oracle变的越发重要了。 我从我编写的一个简单iERP系统谈我自己是如何做的,在PHP官方手册里也有说明。 一般情况下或者说大多数人都是用
br>   随着网站规模的扩大,MySql显然不能满足需求,在许多网站都采用大型数据库Oracle的情况下,如何使用PHP来访问Oracle变的越发重要了。
  
  我从我编写的一个简单iERP系统谈我自己是如何做的,在PHP官方手册里也有说明。

  一般情况下或者说大多数人都是用Oracle8 Call-Interface(OCI8)来连接数据库
我这里介绍不使用OCI8接口而直接使用PHP的Oracle函数来连接数据库并处理数据。  
 
  注意:

php.ini配置中要去掉 ;extension=php_oracle.dll 前的分号即
extension=php_oracle.dll  
 
  1,连接数据库  
 
使用ora_logon()或者ora_plogon()来连接上数据库

ora_plogon功能与ora_logon类似,只不过ora_plogon开启与 Oracle 的长期连结
直至web服务停止  
 
$handle = ora_plogon("system@localhost", "manager") or die;

"system@localhost" 其中localhost是oracle SID 名称,system是用户名称,manager是用户密码  
 


  2,打开游标

$cursor = ora_open($handle);  
 
  3,分析语法并执行指令

$query = "select count(*) from area where areacode = "$addcode"";
ora_parse($cursor, $query) or die;
ora_exec($cursor);  
 
  4,获取数据

if(ora_fetch($cursor))
$datacount = ora_getcolumn($cursor, 0);

  5,关闭游标

ora_close($cursor);  
 
  当然了你有可能执行的是delete或者insert语句不存在获取数据的步骤如:


  INSERT:(插入)  
 
$handle = ora_plogon("system@localhost", "manager") or die;
ora_commiton($handle);
$cursor = ora_open($handle);
$query = "insert into area(areacode,areaname) values("$addcode","$addname")";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);  
 
  DELETE:(删除)  
 
$handle = ora_plogon("system@localhost", "manager") or die;
$cursor = ora_open($handle);
ora_commiton($handle);
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);  

原文转自:http://www.ltesting.net