如何在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 相关文章推荐
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
PHP微信支付开发实例
Jun 22 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP获取HTTP body内容的方法
Dec 31 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
PHP在线书签系统分享
2016/01/04 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
python实现祝福弹窗效果
2019/04/07 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python实现局域网内实时通信代码
2019/12/22 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
个人实用简单的自我评价
2013/10/19 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
学校欢迎标语
2014/06/18 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
党的群众路线调研报告
2014/11/03 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
大学同学聚会感言
2015/07/30 职场文书