ORA-24374:定义在获取之前未完成或执行并获取


ORA-24374: define not done before fetch or execute and fetch

这种if语句有效吗?

if($result1 = oci_fetch_array($oms_query2) != null){}

它返回错误:

警告:oci_fetch_array()[function.oci fetch array]:ORA-24374:定义未完成在获取或执行并获取之前

以下是代码片段:

$oms_query = oci_parse($conn_oms,"select * from R_VALIDATION order by query_id");
oci_execute($oms_query);            
while($row = oci_fetch_assoc($oms_query)) {
    extract($row);
    If ($ACTIVE=='Y') {
        $TOTAL++;
        $result = array();      
        $FIELD=explode(';',$FIELDS);
        $FIELD_COUNT=count($FIELD);
        $_SESSION[ 'field' ] = $FIELD;
        $_SESSION[ 'field_count' ] = $FIELD_COUNT;
        $testing = 0;
        $oms_query2 = oci_parse($conn_oms,$QUERY);
        oci_execute($oms_query2);   
        if($result1 = oci_fetch_array($oms_query2) != null) {
            var_dump($result1);
            $IMPACTED++;
            if($FIELD[0]!=null) {
                $oms_query3 = oci_parse($conn_oms,$QUERY);
                oci_execute($oms_query3); 
                while($result = oci_fetch_array($oms_query3))
                    $testing++;
                echo'<tr><td height="100%" bgcolor = "Linen" align="center" valign="middle"><b>'.$QUERY_ID.'</b></td><td bgcolor = "Linen"><b>'.$QUERY_NAME.'</b></td><td bgcolor = "Linen"><b>'.$QUERY_TYPE.'</b></td> <td bgcolor = "Linen" align="center" valign="middle"><b>'.$testing.'</b></td></tr>';            
            }
            oci_free_statement($oms_query2);
        }
    }
}

至少在这段代码中,您的"$QUERY"变量没有设置,因此无法解析,因此无法执行fetch。