随着网站规模的扩大,MySql显然不能满足需求,在许多网站都 
采用大型数据库Oracle的情况下,如何使用PHP来访问Oracle变的越发重要了。 
我从我编写的一个简单iERP系统谈我自己是如何做的,在PHP官方手册里也有说明。 
一般情况下或者说大多数人都是用Oracle8
Call-Interface(OCI8)来连接数据库, 
我这里介绍不使用OCI8接口而直接使用PHP的Oracle函数来连接数据库并处理数据。

注意: 
php.ini配置中要去掉
;extension=php_oracle.dll 前的分号即 
extension=php_oracle.dll

1,连接数据库

使用ora_logon()或者ora_plogon()来连接上数据库 
ora_plogon功能与ora_logon类似,只不过ora_plogon开启与 Oracle 的长期连结 
直至web服务停止

$handle =
ora_plogon("system@localhost", "manager") or die; 
"system@localhost" 其中localhost是oracle SID 名称,system是用户名称,manager是用户密码

2,打开游标 
$cursor = ora_open($handle);

3,分析语法并执行指令 
$query = "select count(*) from area where areacode = '$addcode'"; 
ora_parse($cursor, $query) or die; 
ora_exec($cursor);

4,获取数据 
if(ora_fetch($cursor)) 
$datacount = ora_getcolumn($cursor, 0); 
5,关闭游标 
ora_close($cursor);

当然了你有可能执行的是delete或者insert语句不存在获取数据的步骤如: 
INSERT:(插入)

$handle =
ora_plogon("system@localhost", "manager") or die; 
ora_commiton($handle); 
$cursor = ora_open($handle); 
$query = "insert into area(areacode,areaname) values('$addcode','$addname')"; 
ora_parse($cursor, $query) or die; 
ora_exec($cursor); 
ora_close($cursor);

DELETE:(删除)

$handle =
ora_plogon("system@localhost", "manager") or die; 
$cursor = ora_open($handle); 
ora_commiton($handle); 
$query = "delete from area where areacode in ('222','444')" ; 
ora_parse($cursor, $query) or die; 
ora_exec($cursor); 
ora_close($cursor);

不使用OCI8接口如何连接PHP和Oracle的更多相关文章

  1. PL/SQL连接64位Oracle配置方法

    问题原因: plsql developer无法连接64位oracle server的原因是,plsql是32位的,没有64位的版本,而oracle是64位,两者不兼容. 配置方法: 1.下载64位Or ...

  2. plsql无法连接64位oracle数据库的解决方法(图文解说)

    oracle11g下载页面:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html,找到适 ...

  3. Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)

    Jsp 环境目前最流行的是 Tomcat5.0.Tomcat5.0 自己包含一个 Web 服务器,如果是测试,就没必要把 Tomcat 与 IIS 或 Apache 集成起来.在 Tomcat 自带的 ...

  4. Java java jdbc thin远程连接并操作Oracle数据库

    JAVA jdbc thin远程连接并操作Oracle数据库 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 编码工具:Eclipse 编码平台:W ...

  5. firedac连接WINDOWS的ORACLE

    firedac连接WINDOWS的ORACLE 首先安装OCI FOR WINDOWS.OCI分WIN32和WIN64,且OCI的版本要和ORACLE的版本相一致才行. FIREDAC指定OCI驱动程 ...

  6. firedac连接linux的oracle

    firedac连接linux的oracle 首先要下载并安装 oci for linux.OCI的版本要和ORACLE数据库的版本一致. centos7环境下安装OCI:https://blog.cs ...

  7. jdbc连接rac的oracle数据库

    jdbc连接rac的oracle数据库需要配置所有racIP,如下: DB1 =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(H ...

  8. plsql无法连接64位oracle数据库的解决方法

    今儿个重装了个系统,win8 64位.接着装了个64位的oracle11g,oracle11g下载页面:http://www.oracle.com/technetwork/database/enter ...

  9. PCB .NET连接MySQL与Oracle DLL文分享件 MySql.Data,Oracle.ManagedDataAccess

    虽然我们C#对SQL SERVER天然的支持,但对于C#要连接MYSQL或Oracle就不同了, 需要用到第3方组件才行,本文将2个组件连接数据库代码与DLL下载地址贴出. 一.C#连接MYSQL   ...

随机推荐

  1. SQL内外左右交叉连接

    什么是连接查询? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据. 目的:实现多个表查询操作. 一般是用作关联两张或两张以上的数据表时用的.看起来有点抽象,我们举个例子,做两张表:学生表( ...

  2. .NET多线程同步方法详解

    .NET多线程同步方法详解(一):自由锁(InterLocked) .NET多线程同步方法详解(二):互斥锁(lock) NET多线程同步方法详解(三):读写锁(ReadWriteLock) .NET ...

  3. oracle数据库的导出与导入

    导出:exp devtest10/dev10@172.16.7.39:1521/WSRZ file=d:\WSRZ.dmp log=d:\WSRZ.log full=y 导入:imp testdb/t ...

  4. js文件缓存之版本管理

    以前也做过不少项目,但从来就没有把关注的目光投向过js文件缓存.最近终于在毫无意识的情况下跳进了这个大坑. 近几个月来的工作是一个交易系统持续改进项目,迭代发布周期大约为2~3周.最近一次迭代是V16 ...

  5. 如何生成publish windows app 用到的 pfx 文件

    参考文章 https://msdn.microsoft.com/en-us/library/windows/desktop/jj835832(v=vs.85).aspx 1.在项目中查找.appxma ...

  6. ecmall 后台导航增加菜单

    以我增加的团购为例: languages\sc-gbk\admin 中的default.lang.php 文件中底部增加变量值 'groupbuy'=>'团购',    'groupbuyord ...

  7. CentOS 6.4 64位 安装 apache-tomcat-6.0.43

    下载 tomcat: 地址:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.43/bin/apache-tomcat-6.0.43.tar ...

  8. 创建对象的两种方法: new 和 面向对象(对象字面量)及对象属性访问方法

    创建对象的两种方法: new 和 面向对象(对象字面量)用 new 时:var o = new Object();o.name = "lin3615";alert(o.name); ...

  9. Day22 JSONP、瀑布流

    一.JSONP JSONP a.Ajax $.ajax({ url:'/index/', dataType:'json', data:{}, type:'GET', success:function( ...

  10. 关于java reflect

    反射的基石 Class类 对比提问: Person类代表人,它的实例对象就是张三,李四这样一个个具体的人, Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class.对比 ...