以下的范例是 [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 来查证。
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 来查证。
;extension=php_oci8.dll
==>
extension=php_oci8.dll
在php下面找到这个文件,拷到winnt\system32下面。
Call to undefined function 的意思就是没编译函数。不会是IIS吧,不论如何都没必要把任何.DLL复制到 windows 目录下。
还有extension_dir 指的路径对不对
还是其它什么错误?
如C:\php\extensions
2.php_oci8.dll去掉前面的分号
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);
你用的APACHE是ORACLE带的,还是自已装的?
如果是自带的,HTTP.CONF在ORACLE目录里。
如果不是,禁用服务里面的ORACLEHTTPSERVER (是APACHE HTTP SERVER项目),具体的服务名忘了!
extensions目录下有php_oracle.dll文件
extension_dir=d:\php4\extensions,可是还不行的。
我的PHP是 4.2的,apache 2.0.36 oracle 8.1.7
http://diy2biz.dhcn.net:81/
username:kaka
password:kaka我把PHP4的目录压缩文件放在里面!APACHE的安装文件也给你!