如何在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 相关文章推荐
Mysql中limit的用法方法详解与注意事项
Apr 19 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
php下连接mssql2005的代码
Jan 17 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
Yii2框架类自动加载机制实例分析
May 02 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
python 下划线的不同用法
2020/10/24 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
硕士研究生自我鉴定范文
2013/12/27 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
数学教师个人总结
2015/02/06 职场文书
golang日志包logger的用法详解
2021/05/05 Golang