如何在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 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php中截取字符串支持utf-8
Jan 18 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
php 数组的指针操作实现代码
Feb 08 PHP
JS与PHP向函数传递可变参数的区别实例代码
May 18 PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
php面向对象重点知识分享
Sep 27 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 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函数
2010/01/11 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
js a标签点击事件
2017/03/30 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
Python3解释器知识点总结
2019/02/19 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
python线程池如何使用
2020/05/28 Python
Python reques接口测试框架实现代码
2020/07/28 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
酒店办公室文员岗位职责
2013/12/18 职场文书
大四自我鉴定
2014/02/08 职场文书
服务行业演讲稿
2014/09/02 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
2014年商场工作总结
2014/11/22 职场文书
公司2014年度工作总结
2014/12/10 职场文书
学生检讨书范文
2015/01/27 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
行为规范主题班会
2015/08/13 职场文书
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫