Ямерт
The Old One
Как можно узнать количество рядов, которые вернул SELECT-запрос?
Вопрос, наверное, глупый, но я никак не могу это дело красиво решить.
Стандартной OCI8 функции нет.
Поэтому я придумал следующее:
function rowcount()
{
$myarray = array();
return OCIFetchStatement ($statement, $myarray);
}
Кол-во рядов функция, конечно, возвращает, но из результата больше ничего нельзя вытащить - выдаётся ошибка OCIFetch: ORA-01002: fetch out of sequence.
Неужели надо вычислять кол-во рядов единственно через запрос?
Или указатель на текущий ряд в курсоре можно вернуть к первому ряду?
Вопрос, наверное, глупый, но я никак не могу это дело красиво решить.
Стандартной OCI8 функции нет.
Поэтому я придумал следующее:
function rowcount()
{
$myarray = array();
return OCIFetchStatement ($statement, $myarray);
}
Кол-во рядов функция, конечно, возвращает, но из результата больше ничего нельзя вытащить - выдаётся ошибка OCIFetch: ORA-01002: fetch out of sequence.
Неужели надо вычислять кол-во рядов единственно через запрос?
Или указатель на текущий ряд в курсоре можно вернуть к первому ряду?