如何在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 基本语法格式
Dec 15 PHP
有关JSON以及JSON在PHP中的应用
Apr 09 PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 PHP
PHP删除目录及目录下所有文件的方法详解
Jun 06 PHP
php使用curl存储cookie的示例
Mar 31 PHP
php上传文件常见问题总结
Feb 03 PHP
PHP魔术方法的使用示例
Jun 23 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
laravel手动创建数组分页的实现代码
Jun 07 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 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
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
深入理解PHP中的global
2014/08/19 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python怎么判断模块安装完成
2020/06/19 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
人事档案接收函
2014/01/12 职场文书
副总经理岗位职责
2014/03/16 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
Python竟然能剪辑视频
2021/05/25 Python