如何在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脚本的10个技巧(5)
Oct 09 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
PHP分页详细讲解(有实例)
Oct 30 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
php 解决substr()截取中文字符乱码问题
Jul 18 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
微信支付之JSAPI公众号支付详解
May 15 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
详解PHP用mb_string处理windows中文字符
May 26 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
一个SQL管理员的web接口
2006/10/09 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
老生常谈 js中this的指向
2016/06/30 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python中的字典操作及字典函数
2018/01/03 Python
我就是这样学习Python中的列表
2019/06/02 Python
python实现猜数游戏
2020/03/27 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
房屋买卖协议书范本
2014/04/10 职场文书
产品包装策划方案
2014/05/18 职场文书
广告学专业求职信
2014/06/19 职场文书
幼儿园见习报告
2014/10/30 职场文书
停课通知书
2015/04/24 职场文书