Contar linhas em MySQL PHP

Subodh Poudel 30 janeiro 2023
  1. Use o método fetchColumn() do PDO para contar o número total de linhas em uma tabela MySQL
  2. Use um método procedural para contar o número de linhas na tabela MySQL usando a função mysqli_num_rows()
  3. Use uma maneira orientada a objetos para contar o número de linhas em uma tabela usando a propriedade num_rows
Contar linhas em MySQL PHP

Apresentaremos um método para contar todas as linhas de uma tabela em MySQL em PHP usando os métodos fetchColumn() e COUNT(). A função fetchColumn() é fornecida por PDO (PHP Data Objects) e o método COUNT() é uma função SQL. PDO é uma maneira orientada a objetos de conectar o banco de dados e o backend. Este método é flexível porque o PDO é compatível com 12 sistemas de banco de dados diferentes.

Demonstraremos outro método para contar todas as linhas de uma tabela usando a função mysqli_num_rows(). Este método usa uma forma orientada a objetos para estabelecer a conexão do banco de dados com o servidor usando a função mysqli(). No entanto, o resto do processo é feito de forma processual.

Demonstraremos uma maneira de contar todas as linhas de uma tabela usando a propriedade num_rows no PHP. Este método segue a prática orientada a objetos completa para conectar o banco de dados e contar o número total de linhas. O uso da instrução preparada neste método torna-o seguro contra a vulnerabilidade da injeção SQL.

Use o método fetchColumn() do PDO para contar o número total de linhas em uma tabela MySQL

PDO é uma das maneiras orientadas a objetos de conectar o banco de dados ao servidor PHP. Podemos usar o método fetchColumn() disponível no PDO para contar as linhas da tabela. Primeiramente, criamos um banco de dados e preenchemos a tabela com dados. Em seguida, configuramos a conexão do banco de dados usando o host, nome de usuário do banco de dados, senha do banco de dados e nome do banco de dados corretos. Usamos uma instância de um objeto PDO para armazenar a conexão. Depois de nos certificarmos de que a conexão do banco de dados está funcionando, consultamos a instrução SQL usando a função COUNT() e a executamos. A função COUNT() leva * como o parâmetro que conta todas as linhas na tabela especificada. Em seguida, usamos o método fetchColumn() para exibir o número de linhas na tabela.

As instruções a seguir presumem que uma conexão de banco de dados com o servidor foi estabelecida. Existem duas linhas na tabela do banco de dados.

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 exemplo, em Test.php escreva uma classe chamada Test que herda a classe DB. Escreva uma função pública getRowsNumber() dentro da classe. Atribua uma variável $sql e escreva uma consulta usando a instrução SELECT para selecionar tudo da tabela users. Use COUNT(*) na instrução SELECT para contar o número de linhas. Use a função connect para obter a conexão de DB.php e consulte o comando SQL escrito acima usando a função query(). Atribua essas tarefas a uma variável $stmt. Use a variável $stmt para chamar o método fetchColumn() e exibir o resultado.

No exemplo abaixo, a superclasse DB contém um método connect() que contém a conexão do banco de dados. A função getRowsNumber() é chamada de outro arquivo php como:

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

Código de exemplo:

# 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;
    }
}

Resultado:

The total number of rows is: 2

Use um método procedural para contar o número de linhas na tabela MySQL usando a função mysqli_num_rows()

Podemos usar a função mysqli_num_rows() em PHP para contar as linhas em uma tabela MySQL. Podemos criar um objeto da função mysqli() para conectar o banco de dados ao servidor PHP. A função leva o nome do host, o nome do usuário, a senha e o nome do banco de dados como parâmetros. Escrevemos a instrução SQL para selecionar cada linha da tabela. Usamos a função mysqli_query() para usar a conexão do banco de dados e executar a consulta. Então usamos a função mysql_num_rows() para contar o número de linhas e exibi-lo.

O exemplo abaixo usa o mesmo banco de dados, a mesma tabela e os mesmos dados na tabela do primeiro método.

Por exemplo, atribua o nome do host, nome de usuário, senha e nome do banco de dados às variáveis ​​$host, $ nome de usuário, $ senha e $ banco de dados, respectivamente. Crie um objeto da função mysqli() usando a palavra-chave new e passe as variáveis ​​como parâmetros da função. Atribua o valor do objeto na variável $conn. Escreva uma consulta SQL para selecionar tudo da tabela users na variável $sql. Use uma variável $result para armazenar a função mysqli_query() que recebe as variáveis ​​$conn e $sql. Verifique o valor booleano da variável $result usando a condição if. Dentro da condição if, use mysqli_num_rows() com a variável $request como parâmetro e atribua-a à variável $rowcount. Imprima a variável $rowcount.

Exemplo 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; 
}
?>

Resultado:

The total number of rows are: 2

Use uma maneira orientada a objetos para contar o número de linhas em uma tabela usando a propriedade num_rows

Podemos usar a propriedade num_rows em PHP para contar o número de linhas em uma tabela MySQL. Essa abordagem usa o método orientado a objetos. O método é bastante semelhante ao segundo método na criação da conexão de banco de dados e na gravação da consulta SQL. O uso de declarações preparadas difere este método do segundo. Usamos a função prepare() para criar uma instrução preparada, a função execute() para executar a instrução preparada e a função store_result() para armazenar o resultado.

Por exemplo, atribua o nome do host, nome de usuário, senha e nome do banco de dados às variáveis ​​$host, $ nome de usuário, $ senha e $ banco de dados, respectivamente. Crie um objeto da função mysqli() usando a palavra-chave new e passe as variáveis ​​como parâmetros da função. Atribua o valor do objeto na variável $conn. Escreva uma consulta SQL para selecionar tudo da tabela users na variável $sql.

Use uma variável $stmt para armazenar a instrução preparada. Use $conn vairable para chamar a função prepare() que leva a variável sql como parâmetro. Verifique o valor booleano da variável $stmt usando a condição if. Dentro da condição if, use a variável $stmt para chamar a função execute() e depois a função store_result(). Em seguida, chame a propriedade num_rows e imprima-a.

Código de exemplo:

#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);
}
?>

Resultado:

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

Artigo relacionado - PHP MySQL