PHP Velho Oeste 2024

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rowsВозвращает количество строк, затронутых SQL-запросом

Описание

db2_num_rows(resource $stmt): int|false

Возвращает количество строк, удалённых, добавленных или обновлённых SQL-запросом.

Чтобы определить количество строк, которые будут возвращены оператором SELECT, введите SELECT COUNT(*) с теми же параметрами, что и предполагаемый оператор SELECT и получите значение.

Если логика вашего приложения проверяет количество строк, возвращаемых оператором SELECT и ветвей, если количество строк равно 0, рассмотрите возможность изменения вашего приложения, чтобы попытаться вернуть первую строку одной из функций db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array() или db2_fetch_row() и переходите, если функция выборки возвращает false.

Замечание:

Если вы выполняете оператор SELECT с помощью прокручиваемого курсора, db2_num_rows() возвращает количество строк, возвращаемых оператором SELECT. Однако накладные расходы, связанные с прокручиваемыми курсорами, значительно ухудшают производительность вашего приложения, поэтому, если это единственная причина, по которой вы рассматриваете возможность использования прокручиваемых курсоров, вам следует использовать курсор "forward-only" и либо вызвать SELECT COUNT(*), либо полагаться на логическое значение (bool), которое возвращает значение функций выборки для достижения эквивалентной функциональности с гораздо большей производительностью.

Список параметров

stmt

Допустимый ресурс stmt, содержащий набор результатов.

Возвращаемые значения

Возвращает количество строк, затронутых последним SQL-оператором, выданным указанным дескриптором оператора или false в случае возникновения ошибки.

add a note

User Contributed Notes 1 note

up
-10
rmarsh221 at gmail dot com
6 years ago
$inseq = 598;
$delSql = "DELETE FROM libname.tablename WHERE inseq=?";
$stmt = db2_prepare($conn,$delSql);
$res = db2_execute($stmt,array($inseq));
if(!$res)
{
throw new Exception(db2_stmt_errormsg(), db2_stmt_error());
} else {
$rows = db2_num_rows($stmt);
if ($rows > 0) {
echo "Success! ".$inseq." record deleted from: libname.tablename:". Rows=".$rows;
} else {
echo "Row not found for delete in: ".libname.tablename";
}

}
To Top