如何在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 相关文章推荐
粗略计算在线时间,bug:ip相同
Dec 09 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
apache和php之间协同工作的配置经验分享
Apr 08 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
Yii rules常用规则示例
Mar 15 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
php微信公众号开发之校园图书馆
Oct 20 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
Cookie跨域问题解决方案代码示例
Nov 24 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
laravel学习教程之关联模型
2016/07/30 PHP
菜鸟javascript基础资料整理2
2010/12/06 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
Angularjs单选框相关的示例代码
2017/08/17 Javascript
Vue渲染函数详解
2017/09/15 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
详解react-refetch的使用小例子
2019/02/15 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
用python编写第一个IDA插件的实例
2018/05/29 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
python 输出所有大小写字母的方法
2019/01/02 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
软弱涣散基层党组织整改方案
2014/10/25 职场文书
模范班主任事迹材料
2014/12/17 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Mysql Show Profile
2021/04/05 MySQL
Python如何加载模型并查看网络
2022/07/15 Python
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL