Получение курсора Oracle в массив PHP?

Я пытаюсь загрузить курсор Oracle в переменную $cursor1:

$cur = oci_new_cursor($conn);
oci_bind_by_name($stmt, ":out_cursor", $cur,-1, SQLT_RSET);
oci_execute($cur);
$cursor1 = oci_fetch_assoc($cur);

К сожалению, это возвращает только первую строку от курсора.

Если я пропущу цикл с помощью оператора while, я могу получить все результаты:

while($row = oci_fetch_assoc($cur))
{
    print_r($row);
}

Однако я вызываю эту процедуру много раз по всей системе, и курсор возвращает разные наборы данных при каждом вызове - мне нужно иметь возможность поместить все это в общий массив, если это возможно.

Большое спасибо


person Nick    schedule 02.02.2016    source источник


Ответы (1)


Извините за ответ на мой собственный вопрос, но oci_fetch_all(), похоже, помогает:

oci_fetch_all($cur, $cursor1, null, null, OCI_FETCHSTATEMENT_BY_ROW);
person Nick    schedule 02.02.2016