如何在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 相关文章推荐
数字转英文
Dec 06 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
php树型类实例
Dec 05 PHP
php提高网站效率的技巧
Sep 29 PHP
round robin权重轮循算法php实现代码
May 28 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 PHP
php array_map()函数实例用法
Mar 03 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
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
使用javascript插入样式
2016/03/14 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
python 字符串split的用法分享
2013/03/23 Python
python中函数默认值使用注意点详解
2016/06/01 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
如何在python中实现线性回归
2020/08/10 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
医护人员英文求职信范文
2013/11/26 职场文书
社会调查研究计划书
2014/05/01 职场文书
会计人员演讲稿
2014/09/11 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
二手房购房意向书
2015/05/09 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript