Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > отсутствие аналога mysql_num_rows для Oracle


Автор: skyboy 11.12.2007, 18:59
Оказывается это фича оракла - не возвращать выбранные SELECT'ом кортежи (подробнее ниже).
Нашел пару статей на оракловом сайте:

1) http://www.oracle.com/technology/pub/articles/oracle_php_cookbook/fuecks_paged.html
2) http://www.oracle.com/technology/pub/articles/deployphp/lim_deployphp.html

В частности самый простой вариант воспользоваться функцией вида
Код

function count_rows(& $conn, $select) {
    $sql = "SELECT COUNT(*) AS num_rows FROM($select)";
    $stmt = oci_parse($conn,$sql);
    oci_define_by_name($stmt,"NUM_ROWS",$num_rows);
    oci_execute($stmt);
    oci_fetch($stmt);
    return $num_rows;
}

Вариант два - создать табличку, которая будет обновляться по триггеру каждый раз результатами запросов INSERT/DELETE 
Автор: http://vingrad.ru/@Royan Источник: http://forum.vingrad.ru/index.php?show_type=&showtopic=

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)