如何在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翻页类
Jun 01 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
Web程序工作原理详解
Dec 25 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
php中smarty区域循环的方法
Jun 11 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 PHP
Laravel学习教程之路由模块
Aug 18 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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的ASP防火墙
2006/10/09 PHP
php 静态变量的初始化
2009/11/15 PHP
sphinx增量索引的一个问题
2011/06/14 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
php MessagePack介绍
2013/10/06 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
js原型链原理看图说明
2012/07/07 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
js数组的基本使用总结
2021/01/18 Javascript
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
竞争上岗实施方案
2014/03/21 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
群众路线表态发言材料
2014/10/17 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js