Contar filas en MySQL PHP

Subodh Poudel 30 enero 2023
  1. Utilice el método fetchColumn() de PDO para contar el número total de filas en una tabla MySQL
  2. Use un método de procedimiento para contar el número de filas en la tabla MySQL usando la función mysqli_num_rows()
  3. Utilice una forma orientada a objetos para contar el número de filas en una tabla utilizando la propiedad num_rows
Contar filas en MySQL PHP

Introduciremos un método para contar todas las filas de una tabla en MySQL en PHP usando los métodos fetchColumn() y COUNT(). La función fetchColumn() viene dada por PDO (PHP Data Objects) y el método COUNT() es una función SQL. PDO es una forma orientada a objetos de conectar la base de datos y el backend. Este método es flexible porque PDO es compatible con 12 sistemas de bases de datos diferentes.

Demostraremos otro método para contar todas las filas de una tabla usando la función mysqli_num_rows(). Este método utiliza una forma orientada a objetos para establecer la conexión de la base de datos con el servidor usando la función mysqli(). Sin embargo, el resto del proceso se realiza de forma procedimental.

Demostraremos una forma de contar todas las filas de una tabla usando la propiedad num_rows en PHP. Este método sigue la práctica completa orientada a objetos para conectar la base de datos y contar el número total de filas. El uso de la instrucción preparada en este método lo protege de la vulnerabilidad de la inyección SQL.

Utilice el método fetchColumn() de PDO para contar el número total de filas en una tabla MySQL

PDO es una de las formas orientadas a objetos de conectar la base de datos con el servidor PHP. Podemos utilizar el método fetchColumn() disponible en PDO para contar las filas de la tabla. En primer lugar, creamos una base de datos y llenamos la tabla con datos. Luego, configuramos la conexión a la base de datos utilizando el host, el nombre de usuario, la contraseña y el nombre de la base de datos correctos. Usamos una instancia de un objeto PDO para almacenar la conexión. Una vez que nos aseguramos de que la conexión a la base de datos está funcionando, consultamos la declaración SQL usando la función COUNT() y la ejecutamos. La función COUNT() toma el * como el parámetro que cuenta todas las filas en la tabla especificada. Luego usamos el método fetchColumn() para mostrar el número de filas en la tabla.

Las instrucciones a continuación asumen que se establece una conexión de base de datos con el servidor. Hay dos filas en la tabla de la base de datos.

MariaDB [oop]> select * from users;
+----+-----------+------------+------------+
| id | firstname | lastname   | dob        |
+----+-----------+------------+------------+
|  1 | Dan    	 |  James     | 1998-08-23 |
|  2 | Dean   	 | Henderson  | 2000-03-30 |
+----+-----------+----------+--------------+
2 rows in set (0.003 sec)

Por ejemplo, en Test.php escriba una clase llamada Test que herede la clase DB. Escriba una función pública getRowsNumber() dentro de la clase. Asigne una variable $sql y escriba una consulta usando la instrucción SELECT para seleccionar todo de la tabla users. Utilice COUNT(*) en la instrucción SELECT para contar el número de filas. Utilice la función conectar para obtener la conexión de DB.php y consulte el comando SQL escrito anteriormente utilizando la función query(). Asigne estas tareas a una variable $stmt. Utilice la variable $stmt para llamar al método fetchColumn() y mostrar el resultado.

En el siguiente ejemplo, la superclase DB contiene un método connect() que continúa la conexión de la base de datos. La función getRowsNumber() se invoca desde otro archivo php como:

$testObj = new Test();
$testObj->getRowsNumber()

Código de ejemplo:

# php 7.*
<?php
class Test extends DB {
    public function getRowsNumber() {
        $sql = "SELECT COUNT(*) FROM users";
        $stmt = $this->connect()->query($sql);
        $count = $stmt->fetchColumn();
        print $count;
    }
}

Producción :

The total number of rows is: 2

Use un método de procedimiento para contar el número de filas en la tabla MySQL usando la función mysqli_num_rows()

Podemos usar la función mysqli_num_rows() en PHP para contar las filas en una tabla MySQL. Podemos crear un objeto de la función mysqli() para conectar la base de datos con el servidor PHP. La función toma el nombre de host, el nombre de usuario, la contraseña y el nombre de la base de datos como parámetros. Escribimos la declaración SQL para seleccionar cada fila de la tabla. Usamos la función mysqli_query() para usar la conexión de la base de datos y ejecutar la consulta. Luego usamos la función mysql_num_rows() para contar el número de filas y mostrarlo.

El siguiente ejemplo usa la misma base de datos, la misma tabla y los mismos datos en la tabla que en el primer método.

Por ejemplo, asigne el nombre de host, el nombre de usuario, la contraseña y el nombre de la base de datos a las variables $host, $ nombre de usuario, $ contraseña y $ base de datos, respectivamente. Cree un objeto de la función mysqli() usando la palabra clave new y pase las variables como parámetros de la función. Asigne el valor del objeto en la variable $conn. Escriba una consulta SQL para seleccionar todo de la tabla users en la variable $sql. Utilice una variable $ resultado para almacenar la función mysqli_query() que toma las variables $conn y $sql. Compruebe el valor booleano de la variable $ resultado utilizando la condición if. Dentro de la condición if use mysqli_num_rows() con la variable $request como parámetro y asígnela a la variable $rowcount. Imprima la variable $rowcount.

Ejemplo de código:

#php 7.x
<?php
$conn = new mysqli($host, $username, $password, $database);
$sql = "SELECT * FROM users";
if ($result=mysqli_query($conn,$sql)) {
    $rowcount=mysqli_num_rows($result);
    echo "The total number of rows are: ".$rowcount; 
}
?>

Producción :

The total number of rows are: 2

Utilice una forma orientada a objetos para contar el número de filas en una tabla utilizando la propiedad num_rows

Podemos usar la propiedad num_rows en PHP para contar el número de filas en una tabla MySQL. Este enfoque utiliza el método orientado a objetos. El método es bastante similar al segundo método para crear la conexión de la base de datos y escribir la consulta SQL. El uso de declaraciones preparadas difiere este método del segundo. Usamos la función prepare() para crear una declaración preparada, la función execute() para ejecutar la declaración preparada y la función store_result() para almacenar el resultado.

Por ejemplo, asigne el nombre de host, el nombre de usuario, la contraseña y el nombre de la base de datos a las variables $host, $ nombre de usuario, $ contraseña y $ base de datos, respectivamente. Cree un objeto de la función mysqli() usando la palabra clave new y pase las variables como parámetros de la función. Asigne el valor del objeto en la variable $conn. Escriba una consulta SQL para seleccionar todo de la tabla users en la variable $sql.

Utilice una variable $stmt para almacenar la declaración preparada. Utilice la opción $conn para llamar a la función prepare() que toma la variable sql como parámetro. Verifique el valor booleano de la variable $stmt usando la condición if. Dentro de la condición if, use la variable $stmt para llamar a la función execute() y luego a la función store_result(). Y luego, llame a la propiedad num_rows e imprímala.

Código de ejemplo:

#php 7.x
<?php
$conn = new mysqli($host, $username, $password, $database);
$sql = "SELECT * FROM users";
if ($stmt = $conn->prepare($sql)) {
    $stmt->execute();
    $stmt->store_result();
    printf("Number of rows: %d.\n", $stmt->num_rows);
}
?>

Producción :

Number of rows: 2.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Artículo relacionado - PHP MySQL