CakeFest 2024: The Official CakePHP Conference

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows Devolver el número de filas afectadas por una sentencia SQL

Descripción

db2_num_rows(resource $stmt): int

Devuelve el número de filas eliminadas, insertadas o actualizadas por una sentencia SQL.

Para determinar el número de filas que serán devueltas por una sentencia SELECT se puede utilizar una consulta de tipo SELECT COUNT(*) con los mismos predicados que la consulta original.

Si la aplicación revisa el número de filas devueltas por una sentencia SELECT comparando si el número de filas es cero, es mejor considerar modificar la aplicación intentando extraer la primer fila con db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), o db2_fetch_row() y comparar si la función devuelve false.

Nota:

Si se utiliza una sentencia SELECT con un cursor de recorrido, db2_num_rows() devuelve el número de filas devueltas por la sentencia SELECT. Sin embargo, lo anterior requiere significativamente de mayores recursos para la aplicación, por lo tanto, si ésta es la única razón por la que se utilizan cursores de recorrido en la aplicación, es mejor utilizar cursores de no-recorrido así como una consulta SELECT COUNT(*) o utilizar el valor boolean devuelto por las funciones de extracción con el objetivo de lograr una mayor optimización.

Parámetros

stmt

Un recurso stmt válido que contenga el resultado.

Valores devueltos

Devuelve el número de filas afectadas por la última sentencia SQL asociada con el recurso indicado.

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