如何在PHP中使用Oracle数据库(1)


Posted in PHP onOctober 09, 2006

在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括Oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库。  

PHP提供了2大类API(应用程序接口)来操作Oracle数据库。一个是标准的Oracle处理函数(ORA) 另一个是Oracle 8调用接口函数(OCI8). 后者只能在Oracle 7或8版本上使用。 由于OCI8 提供了很多优化选项,因此只要有可能就应该采用 OCI8 接口。这里我们分别用这二种函数集进行了演示。  

首先本文的前提假设你已经装好了 Oracle数据库环境 和 PHP 开发环境.  如果不懂也没多大关系,网上有很多相关的好文章可以参考。

第一步:创建 一个实验用的数据库

这个问题你可以请你的数据库管理员或参考Oracle用户手册处理,这里不再多讲  

用 ORA 建立数据表

即使你已经创建好了数据表,也请看看本段文字。它可以告诉你如何用PHP+SQL的技术操作Oracle

在本例中我们创建了一个用于存放个人email的数据表

相关PHP代码:

PutEnv("ORACLE_SID=ORASID");

$connection = Ora_Logon ("username", "password");
if ($connection == false){
  echo Ora_ErrorCode($connection).": ".Ora_Error($connection)."
";
  exit;
}    

$cursor = Ora_Open ($connection);
if ($cursor == false){
  echo Ora_ErrorCode($connection).": ".Ora_Error($connection)."
";
  exit;
}    

$query = "create table email_info " .
       "(fullname varchar(255), email_address varchar(255))";

$result = Ora_Parse ($cursor, $query);
if ($result == false){
  echo Ora_ErrorCode($cursor).": ".Ora_Error($cursor)."
";
  exit;  
}

$result = Ora_Exec ($cursor);
if ($result == false){
  echo Ora_ErrorCode($cursor).": ".Ora_Error($cursor)."
";
  exit;  
}

Ora_Commit ($connection);
Ora_Close ($cursor);
Ora_Logoff ($connection);

?>  

为了处理Oracle数据库,我们首先要和Oracle建立一个联结。
语法是 Ora_Logon (user, password),返回一个connectID..   
提醒: 在此之前我们还必须设置环境变量: ORACLE_SID的值.  

现在,我们可以通过该联结的 ID对Oracle进行交互式操作了。数据表名字就叫email_info吧。该表由2个域组成,一个存储个人全名,(如:晓月)一个存储email地址如(xiaoyue@163.net)  

还需要一个游标 Ora_Open.  该游标常常用来枚举数据。我们用 Ora_Parse 或 Ora_Exec 查询Oracle的结果集.  Ora_Parse 效验SQL语法正确性 而 Ora_Exec 则执行相应的SQL语句.  如果这一切都正常运行,那么我们就运行 Ora_Commit来确认. 

PHP 相关文章推荐
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
PH P5.2至5.5、5.6的新增功能详解
Jul 14 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
php中chdir()函数用法实例
Nov 13 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
laravel学习教程之关联模型
Jul 30 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP获取ttf格式文件字体名的方法示例
Mar 06 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
Oct 12 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 PHP
BBS(php & mysql)完整版(八)
Oct 09 #PHP
超级简单的发送邮件程序
Oct 09 #PHP
发挥语言的威力--融合PHP与ASP
Oct 09 #PHP
如何在PHP中使用Oracle数据库(2)
Oct 09 #PHP
用PHP连接Oracle for NT 远程数据库
Oct 09 #PHP
BBS(php & mysql)完整版(六)
Oct 09 #PHP
用PHP4访问Oracle815
Oct 09 #PHP
You might like
桌面中心(二)数据库写入
2006/10/09 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
javascript 定义新对象方法
2010/02/20 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
Python的Django框架中的数据过滤功能
2015/07/17 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Python I/O与进程的详细讲解
2019/03/08 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
美国渔具店:FishUSA
2019/08/07 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
店长助理岗位职责
2013/12/13 职场文书
粗加工管理制度
2014/02/04 职场文书
成绩单公证书
2014/04/10 职场文书
探亲假请假条
2014/04/11 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
培训师岗位职责
2015/02/14 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android