zoukankan      html  css  js  c++  java
  • 不使用OCI8接口如何连接PHP和Oracle


    随着网站规模的扩大,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);

  • 相关阅读:
    贺铿:中国多年来楼市调控不合理又不合法
    Ubuntu12.04下arm交叉编译环境的建立
    Android2.3.7源码结构分析
    【开源推荐】AllJoyn:打造全球物联网的通用开源框架
    Ubuntu12.04安装JDK6
    ubuntu12.04升级后找不到共享目录
    Windows Embedded Compact 7新特性
    Windows Embedded Compact 2013 安装体验
    巴登的故事
    h5调用底层接口的一些知识
  • 原文地址:https://www.cnblogs.com/hssbsw/p/3411268.html
Copyright © 2011-2022 走看看