Contar linhas em MySQL PHP
-
Use o método
fetchColumn()
do PDO para contar o número total de linhas em uma tabela MySQL -
Use um método procedural para contar o número de linhas na tabela MySQL usando a função
mysqli_num_rows()
-
Use uma maneira orientada a objetos para contar o número de linhas em uma tabela usando a propriedade
num_rows
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 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