随着网站规模的扩大,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. Javascript基础学习(1)_类型、值和变量

    1.null和undefined ①概念上区别: null是一个特殊的对象,是“非对象”,使用typeof后是object对象 undefined用未定义的值表示更深层次的“空值”,它是变量的一种取值 ...

  2. ORACLE如何停止一个JOB

    ORACLE如何停止一个JOB1 相关表.视图2 问题描述为同事解决一个因为网络连接情况不佳时,执行一个超长时间的SQL插入操作.既然网络状况不好,就选择了使用一次性使用JOB来完成该插入操作.在JO ...

  3. C++专题 - 修练8年C++面向对象程序设计之体会 林锐

    六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义.六年后,我从几十万行程序中滚爬出来准备写点心得体会时, 却无法解释什么是“面向对象”,就象说不清楚什么是数学那 ...

  4. ios专题 - socket(1)

    二,BSD socket API 简介 BSD socket API 和 winsock API 接口大体差不多,下面将列出比较常用的 API: API接口 讲解 int socket(int add ...

  5. POJ_3143 验证“歌德巴赫猜想”

    今天晚上的火车回家啦.所以提前更出来~.愉快的收拾我的包裹~滚回家吃半个月~胖几斤又要回学校啦~ T T这个假期虽然很忙.但是我觉得很有意义.很有价值~爱你们~ 描述 验证“歌德巴赫猜想”,即:任意一 ...

  6. C++学习笔记-2-构造函数和析构函数

    问题2. 什么时候执行构造函数和析构函数  22:59:40 2015-07-22 做了一个实验: #include <iostream> class Object{ public: Ob ...

  7. 关于A*寻路算法的认识

    最近要参加学校的APP比赛,我们组做的是一个3D迷宫的小APP,我负责的是迷宫的生成与寻路. 寻路算法选择的是A*寻路算法,具体参考的是下面的这篇博客. 本文主要是谈谈自己对A*算法的理解,具体细节, ...

  8. [我的疑问]String? = "Skiy Chan" 中的问号是什么意思?

    var optionalName : String? = "Skiy Chan" String? = "Skiy Chan" 中的问号是什么意思?目前还在看ap ...

  9. Linux内存映射(mmap)系列(1)

    看到同事的代码中出现了mmap.所以自己私下学习学习,研究研究..... http://www.cnblogs.com/lknlfy/archive/2012/04/27/2473804.html ( ...

  10. 修改虚拟机linux硬盘的大小

    一.概述 Ubuntu用了一段时间,系统已从原来的4G增长到8G,导致虚拟磁盘不够用,需要修改虚拟硬盘的大小. 但是,修改虚拟机硬盘的大小不像修改内存那么简单,操作一个滑动条就轻松搞定.要知道虚拟硬盘 ...