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

Leo*_*mel 5 php oracle10g

这种 if 语句有效吗?

if($result1 = oci_fetch_array($oms_query2) != null){}
Run Code Online (Sandbox Code Playgroud)

它返回错误:

警告: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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 1

至少在这段代码中,您的“$QUERY”变量未设置,因此无法解析它,因此无法执行 fetch。