你看一看你与oracle数据库的连接写对了吗?看一个例子吧,PHP手册中的:要使用这个函式库(ORACLE),要在安装 PHP 及 Apache Server 之前先将 Oracle 资料库安装好,并确定 Oracle 能够顺利运作。之后在 PHP 设定 (configure) 时加入 --with-oracle=DIR 的选项,DIR 就是 $ORACLE_HOME 环境变数,例如:
./configure --with-oracle=/abc/def/oracle/product/7.0.3 --with-apache=../apache_1.3.x --enable-track-vars以下的范例是 [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.   

    Ora_logon,这句有问题,
    一个是TNS,一个是用户名,一个是密码,
    TNS是在net8里配的
      

  2.   

    要在配置ORACLE客户端
    Ora_logon,也有问题,见楼上
      

  3.   

    用OCI8来存取 Oracle 数据库比较好一点。
      

  4.   

    在php.ini中将cgi-forceredirect的值设为1试试。
    看能否解决问题的。
      

  5.   

    看看你的$conn是什么东东?肯定不是有效的数据库句柄。
      

  6.   

    加了两个putenv就可以使用了(在服务器上运行的)!
    to liuwl:在我的php.ini上设置cgi-forceredirect,还需要改那些DD?不会像mysql的联机互访吧?服务器端要设置什么吗?
    to KAK:现在一直用OCI,挺好的!^_^