以下的范例是 [email protected] (22-Jan-1999) 所提供的。这个范例是返回 Oracle 中 sid1 数据库 (Database) 的 EMP 资料表 (Table) 所有资料。帐号是 SCOTT、密码为 TIGER。<?phpputenv("ORACLE_SID=sid1");
putenv("ORACLE_HOME=/u01/app/oracle/product/8.0.5");$handle = ora_plogon("SCOTT@sid1",  "TIGER") or die;
$cursor = ora_open($handle);
ora_commitoff($handle);$query = "SELECT * FROM EMP";
ora_parse($cursor, $query) or die;
ora_exec($cursor);echo  "<HTML><PRE>\n";
echo  "$query\n\n";
$numcols = 0;
while(ora_fetch($cursor)) {
    $numcols = ora_numcols($cursor);
    for ($column=0; $column < $numcols; $column++) {
        $data = trim(ora_getcolumn($cursor, $column));
        if($data ==  "") $data = "NULL";
        echo  "$data\t";
    }
    echo  "\n";
}
$numrows = ora_numrows($cursor);
echo  "\nROWS RETURNED: $numrows\n";
echo  "</PRE></HTML>\n";ora_close($cursor);?>
[email protected] (05-Aug-1998) 指出 ORACLE_HOME 为 Oracle 的安装路径,ORACLE_SID 为 Oracle 的数据库名称,若不知道这二个环境变量可以用 sqlplus 连上 Oracle 来查证。

解决方案 »

  1.   

    总提示 Call to undefined function: ora_logon() 错误。
      

  2.   

    首先要安装oracle客户端,然后将php.ini中调用oracle连接模块的注释取消,重起apache。
      

  3.   

    我装的是oracle8.1.7for NT的完全安装,是不是把PHP.ini中的 ;extension=php_oracle.dll 去掉分号,我试了,而且从启了apache,还是连不上。。
      

  4.   

    and this
    ;extension=php_oci8.dll
    ==>
    extension=php_oci8.dll
      

  5.   

    extension=php_oracle.dll将分号去掉
    在php下面找到这个文件,拷到winnt\system32下面。
      

  6.   

    我都试了,还是那样,有人建议说是oracle和oci8不要同时开,我也单独试了试也不行,急呀。
      

  7.   

    用phpinfo();再看一遍
    Call to undefined function 的意思就是没编译函数。不会是IIS吧,不论如何都没必要把任何.DLL复制到 windows 目录下。
      

  8.   

    4.32和4.3的PHP.INI不能共用
    还有extension_dir 指的路径对不对
      

  9.   

    我用的是PHP4.0+Apache1.3.17+oracle8.1.7的,我是先装的oralce,再装的apache,然后再拷的PHP4.0,并按上面的说法依次配置了php.ini文件都不行,写个普通的PHP页面都可以显示,就是连不上oracle,急。
      

  10.   

    还有没有 Call to undefined function 错误了?
    还是其它什么错误?
      

  11.   

    仍旧显示 :Fatal error: Call to undefined function: ora_logon() in d:\apache group\apache\htdocs\t2.php4 on line 6
      

  12.   

    1.extension_dir =你安装PHP的路径
    如C:\php\extensions
    2.php_oci8.dll去掉前面的分号
      

  13.   

    example:  php.ini 
    include_path = ".;D:\web\php4\pear;d:\web\apache2\htdocs"extension_dir =d:\web\php4\extensionsextension=php_oracle.dll$mydb_username="aaa";
    $mydb_password="bbb";$conn=Ora_pLogon($mydb_username,$mydb_password);
      Ora_CommitOn($conn);
      $cursor = Ora_Open($conn);
      

  14.   

    oracle server is start?
      

  15.   

    我不知是否启动oracle,如何才算是在2000下启动oralce了?
      

  16.   

    用sqlplus连上试试,就知道是否启动oracle能否联上了
      

  17.   

    我能用sqlplus正常操作,但还是那提示,怪呀。
      

  18.   

    有没有人能把自己的正确安装上的文件发给我一份呀 ,比如 php.ini ,http.conf, 我的实在是没法呀,急..
      

  19.   

    管理工具里有一个服务。里面看一下有没有ORACLE的东东已经启动了?
    你用的APACHE是ORACLE带的,还是自已装的?
    如果是自带的,HTTP.CONF在ORACLE目录里。
    如果不是,禁用服务里面的ORACLEHTTPSERVER (是APACHE HTTP SERVER项目),具体的服务名忘了!
      

  20.   

    TO seacaptain(大侠):我的apache是自己别装的,我按你说的在服务项里把oraclehttpserver关了,从启了apache,但还是那个错误。
      

  21.   

    Fatal error: Call to undefined function: ora_logon()  这个应该是PHP没法执行这个函数吧,可是我在php.ini文件中已去去那包含oracle.dll前的分号了,还需要怎么操作呢?谁有现成的php.ini文件,可否让我参考一下。
      

  22.   

    extension_dir =d:\web\php4\extensions你自己安装的PHP目录是在哪儿的?如我是装在d:\web\下的
    extensions目录下有php_oracle.dll文件
      

  23.   

    这个我改了,我的PHP4拷到D盘根目录下,所以是
    extension_dir=d:\php4\extensions,可是还不行的。
      

  24.   

    留下MAIL,晚上我给你php.ini 和 http.conf !
    我的PHP是 4.2的,apache 2.0.36 oracle 8.1.7
      

  25.   

    我的mail: [email protected]  谢谢。
      

  26.   

    TO seacaptain(大侠):我已下载,可是问题依旧,烦你看下短信息:)
      

  27.   

    我给你一个MAIL。是我自己机器上的!
    http://diy2biz.dhcn.net:81/
    username:kaka
    password:kaka我把PHP4的目录压缩文件放在里面!APACHE的安装文件也给你!
      

  28.   

    连不上呀,我用CUTFTP连的,怎么办?
      

  29.   

    http://mail.diy2biz.com/  =  http://diy2biz.dhcn.net:81/http://www.diy2biz.com/   =  http://diy2biz.dhcn.net/