随着网站规模的扩大,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. StarUML启动时候出现"System Error. Code:1722. RPC服务器不可用."错误的解决办法

    StarUML是用得很顺手的UML工具,但是启动时候每次都会出现"System Error. Code:1722. RPC服务器不可用."错误. 一般来说这个应该是某个Window ...

  2. <artifactId>maven-compiler-plugin</artifactId>

    根据名字就可以看出来,就是控制编译环境的 <plugin>            <groupId>org.apache.maven.plugins</groupId&g ...

  3. 如何使用event 10049分析定位library cache lock and library cache pin

    Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library c ...

  4. 【转】怎样创建一个Xcode插件(Part 1)

      原文:How To Create an Xcode Plugin: Part 1/3 原作者:Derek Selander 译者:@yohunl 译者注:原文使用的是xcode6.3.2,我翻译的 ...

  5. xcode7启动页的尺寸设置

    iPhone Portrait iOS 8,9-Retina HD 5.5 (1242×2208) @3x iPhone Portrait iOS 8,9-Retina HD 4.7 (750×133 ...

  6. JavaScript上下文和闭包

    "this" 上下文 上下文通常是取决于一个函数如何被调用.当函数作为对象的方法被调用时,this 被设置为调用方法的对象: var object = { foo: functio ...

  7. java_反射_及其简单应用(2016-11-16)

    话不多说直接上代码 接口: package bean; /** * user接口 */ public interface User { public String getName(); public ...

  8. ACM YTU 《挑战编程》第一章 入门 Problem E: Graphical Editor

    Description Graphical editors such as Photoshop allow us to alter bit-mapped images in the same way ...

  9. Object layout in C++ and access control

    The variables are guaranteed to be laid out contiguously, as in C. However, the access blocks may no ...

  10. 转载C#泛型集合—Dictionary<K,V>使用技巧

    1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value) ...