如何解决FETCH OUT OF SEQUENCE情况?

时间:2014-05-27 09:51:27

标签: php oracle

我在oracle中有一个简单的select查询,我想对返回的行数使用一个条件。

oci_execute($query); // The query return 5 rows
//$numrows = oci_num_rows($query);
$numrows = oci_fetch_all($query); // The value of the $numrows is 5
if($numrows>0){  // This condition prompts the **fetch out of sequence** error
    //do something
}else{
    //do something else
}

基于我在谷歌搜索后发现的内容,我知道这是因为光标现在位于查询结果的最后一行之后(可能用于计算行数)。

我已经通过在获取行数后立即再次执行查询来暂时管理此操作。它似乎工作。但我感觉自己在愚弄自己。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我没有两次运行相同的查询,而是让自己写了一个更轻松的查询,只计算结果行的数量。

$numrows = oci_execute($count_query); // The query return 5

if($numrows>0){

    oci_execute($select_query);
    // More code here
}else{
//do something else
}
相关问题