下面这段代码是想从数据库取出并输出Department表的信息,部门表有6列后三列都是NULL(注释部分),读出是出错,请问怎么解决?
<?php
 $conn=OCILogon("howl","howl");  $sql ="select * from Department"; 
$stmt = OCIParse($conn, $sql); 
if(!$stmt) { 
echo "<h2>ERROR - Could not parse SQL statement.</h2>"; 
exit; 

OCIExecute($stmt); 
while(OCIFetchInto($stmt,$result_array)){  echo "DepartmentNo=$result_array[0]<br>
DepartmentName=$result_array[1]<br>
UpperDepartmentNo=$result_array[2]<br>";
/*Manager=$result_array[3]<br>
Address=$result_array[4]<br>
Telephone=$result_array[5]";*/

?>

解决方案 »

  1.   

    首先要看你的配置环境了 如果你安装的是PHP、MYSQL、APACHE呢,就打开PHP.INI 在php.ini中把 ;extension=php_oci8.dll 前面的注释符号“;”去掉,使php能够加载支持oracle的模块,
    没完呢 然后,把PHP安装目录下的php_oci8.dll拷贝到你的C:WINDOWS/system32子目录,重新启动你的机器。
    环境配置好以后建立一个测试的文件test.php
    <?
    $dbconn=OCILogon("你的账号","密码","要链接的数据库"); 
    $sql ="select * from emp";  建立SQL语句
    $stmt = OCIParse($dbconn, $sql); 分析语法。
    if(!$stmt) { 如果错误的的话
    echo "<h1>ERROR - Could not parse SQL statement.</h1>"; 返回它
    exit; 
      

  2.   

    错误信息是这样的:
    Notice: Undefined offset: 3 in D:\ToolSoftware\AMP\apachae\htdocs\bb.php on line 16Notice: Undefined offset: 4 in D:\ToolSoftware\AMP\apachae\htdocs\bb.php on line 17Notice: Undefined offset: 5 in D:\ToolSoftware\AMP\apachae\htdocs\bb.php on line 18
    DepartmentNo=001
    DepartmentName=江西财经大学
    UpperDepartmentNo=000
    Manager=
    Address=
    Telephone=
      

  3.   

    在D:\ToolSoftware\AMP\apachae\htdocs\bb.php的第16行应该是一个数组,他说这个数组的第三个索引没有定义或不存在.
    Notice: Undefined offset: 4 in D:\ToolSoftware\AMP\apachae\htdocs\bb.php on line 17
    第17行第4个索引没有定义Notice: Undefined offset: 5 in D:\ToolSoftware\AMP\apachae\htdocs\bb.php on line 18
    第18行第5个索引没有定义所以你可以用Print_r ($数组名);的方式输出一下你的数组看看就知道原因了.