如何在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加MYSQL服务器
Oct 09 PHP
人大复印资料处理程序_查询篇
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Nov 25 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
php 正则表达式小结
Aug 31 PHP
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
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常用函数小技巧
2008/09/11 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
python实现数据图表
2017/07/29 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
numba提升python运行速度的实例方法
2021/01/25 Python
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
安全生产投入制度
2014/01/29 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
导游词之张家界
2019/10/31 职场文书
python爬虫selenium模块详解
2021/03/30 Python
Golang: 内建容器的用法
2021/05/05 Golang
docker 制作mysql镜像并自动安装
2022/05/20 Servers
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang