Devuelve el número de filas afectadas por la última llamada a la función PDOStatement::execute()

# PDOStatement::rowCount

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::rowCount — Devuelve el número de filas afectadas por la última llamada a la función PDOStatement::execute()

### Descripción

public function PDOStatement::rowCount(): int

PDOStatement::rowCount() devuelve el número de filas afectadas por la última consulta DELETE, INSERT o UPDATE ejecutada por el objeto `PDOStatement` correspondiente.

Si la última consulta SQL ejecutada por el objeto `PDOStatement` asociado es una consulta de tipo SELECT, algunas bases de datos devolverán el número de filas devueltas por dicha consulta. No obstante, este comportamiento no está garantizado para todas las bases de datos y no debería ser utilizado para aplicaciones portables.

> Nota:

> Este método siempre devuelve "0" (cero) con el controlador PostgreSQL, cuando el atributo de declaración `PDO::ATTR_CURSOR` está definido como `PDO::CURSOR_SCROLL`.

### Parámetros

Esta función no contiene ningún parámetro.

### Valores devueltos

Devuelve el número de filas.

### Errores/Excepciones

Emite un error de nivel `E_WARNING` si el atributo `PDO::ATTR_ERRMODE` está definido a `PDO::ERRMODE_WARNING`.

Lanza una excepción PDOException si el atributo `PDO::ATTR_ERRMODE` está definido a `PDO::ERRMODE_EXCEPTION`.

### Ejemplos

Ejemplo #1 Devuelve el número de filas eliminadas

PDOStatement::rowCount() devuelve el número de filas afectadas por una consulta DELETE, INSERT, o UPDATE.

    <?php
    /* Eliminación de todas las filas de la tabla FRUIT */
    $del = $dbh->prepare('DELETE FROM fruit');
    $del->execute();

    /* Devuelve el número de filas eliminadas */
    print "Devuelve el número de filas eliminadas :\n";
    $count = $del->rowCount();
    print "Eliminación de $count filas.\n";
    ?>

Resultado del ejemplo anterior es similar a:

    Devuelve el número de filas eliminadas :
    Eliminación de 9 filas.

Ejemplo #2 Conteo de filas devueltas por una consulta SELECT

Para la mayoría de las bases de datos, PDOStatement::rowCount() no devuelve el número de filas afectadas por una consulta SELECT. En su lugar, utilice PDO::query() para hacer una consulta SELECT COUNT(*), luego utilice PDOStatement::fetchColumn() para recuperar el número de filas correspondientes.

    <?php
    $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
    $res = $conn->query($sql);
    $count = $res->fetchColumn();

    print "Hay " .  $count . " fila(s) correspondiente(s).";
    ?>

Resultado del ejemplo anterior es similar a:

    Hay  2 fila(s) correspondiente(s).

### Ver también

- PDOStatement::columnCount() - Devuelve el número de columnas en el conjunto de resultados
- PDOStatement::fetchColumn() - Devuelve una columna de la siguiente fila de un conjunto de resultados
- PDO::query() - Prepara y ejecuta una consulta SQL sin marcadores de sustitución

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open