如何在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往windows中添加用户
Dec 06 PHP
支持php4、php5的mysql数据库操作类
Jan 10 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
php数组指针操作详解
Feb 14 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 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
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
小程序中的箭头函数的具体使用
2020/06/19 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
python实现录音小程序
2020/10/26 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
主持人演讲稿范文
2013/12/28 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
物业总经理岗位职责
2014/02/28 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
党员评议自我评价
2015/03/03 职场文书
无罪辩护词范文
2015/05/21 职场文书