Compter les lignes dans MySQL PHP
-
Utilisez la méthode
fetchColumn()
de PDO pour compter le nombre total de lignes dans une table MySQL -
Utilisez une méthode procédurale pour compter le nombre de lignes dans la table MySQL en utilisant la fonction
mysqli_num_rows()
-
Utilisez une méthode orientée objet pour compter le nombre de lignes dans une table en utilisant la propriété
num_rows
Nous allons introduire une méthode pour compter toutes les lignes d’une table en MySQL en PHP en utilisant les méthodes fetchColumn()
et COUNT()
. La fonction fetchColumn()
est donnée par PDO (PHP Data Objects) et la méthode COUNT()
est une fonction SQL. PDO est une manière orientée objet de connecter la base de données et le backend. Cette méthode est flexible car PDO est compatible avec 12 systèmes de bases de données différents.
Nous allons démontrer une autre méthode pour compter toutes les lignes d’une table en utilisant la fonction mysqli_num_rows()
. Cette méthode utilise une méthode orientée objet pour établir la connexion de la base de données avec le serveur en utilisant la fonction mysqli()
. Cependant, le reste du processus se fait de manière procédurale.
Nous allons montrer un moyen de compter toutes les lignes d’une table en utilisant la propriété num_rows
en PHP. Cette méthode suit la pratique complète orientée objet pour connecter la base de données et compter le nombre total de lignes. L’utilisation de l’instruction préparée
dans cette méthode la met à l’abri de la vulnérabilité de l’injection SQL.
Utilisez la méthode fetchColumn()
de PDO pour compter le nombre total de lignes dans une table MySQL
PDO est l’un des moyens orientés objet de connecter la base de données au serveur PHP. On peut utiliser la méthode fetchColumn()
disponible dans PDO pour compter les lignes de la table. Tout d’abord, nous créons une base de données et remplissons la table avec des données. Ensuite, nous configurons la connexion à la base de données en utilisant l’hôte, le nom d’utilisateur, le mot de passe de base de données et le nom de base de données corrects. Nous utilisons une instance d’un objet PDO pour stocker la connexion. Une fois que nous nous sommes assurés que la connexion à la base de données fonctionne, nous interrogeons l’instruction SQL à l’aide de la fonction COUNT()
et l’exécutons. La fonction COUNT()
prend le *
comme paramètre qui compte toutes les lignes de la table spécifiée. Ensuite, nous utilisons la méthode fetchColumn()
pour afficher le nombre de lignes dans le tableau.
Les instructions ci-dessous supposent qu’une connexion de base de données avec le serveur est établie. Il y a deux lignes dans le tableau dans la base de données.
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)
Par exemple, dans Test.php
écrivez une classe nommée Test
qui hérite de la classe DB
. Écrivez une fonction publique getRowsNumber()
à l’intérieur de la classe. Assignez une variable $sql
et écrivez une requête à l’aide de l’instruction SELECT
pour tout sélectionner dans la table users
. Utilisez COUNT(*)
dans l’instruction SELECT
pour compter le nombre de lignes. Utilisez la fonction connect
pour obtenir la connexion depuis DB.php
et interrogez la commande SQL écrite ci-dessus en utilisant la fonction query()
. Affectez ces tâches à une variable $stmt
. Utilisez la variable $stmt
pour appeler la méthode fetchColumn()
et afficher le résultat.
Dans l’exemple ci-dessous, la superclasse DB
contient une méthode connect()
qui contient la connexion à la base de données. La fonction getRowsNumber()
est appelée depuis un autre fichier php comme:
$testObj = new Test();
$testObj->getRowsNumber()
Exemple de code:
# 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;
}
}
Production:
The total number of rows is: 2
Utilisez une méthode procédurale pour compter le nombre de lignes dans la table MySQL en utilisant la fonction mysqli_num_rows()
Nous pouvons utiliser la fonction mysqli_num_rows()
en PHP pour compter les lignes dans une table MySQL. Nous pouvons créer un objet de la fonction mysqli()
pour connecter la base de données au serveur PHP. La fonction prend le nom d’hôte, le nom d’utilisateur, le mot de passe et le nom de la base de données comme paramètres. Nous écrivons l’instruction SQL pour sélectionner chaque ligne de la table. Nous utilisons la fonction mysqli_query()
pour utiliser la connexion à la base de données et exécuter la requête. Ensuite, nous utilisons la fonction mysql_num_rows()
pour compter le nombre de lignes et l’afficher.
L’exemple ci-dessous utilise la même base de données, la même table et les mêmes données dans la table que dans la première méthode.
Par exemple, attribuez respectivement le nom d’hôte, le nom d’utilisateur, le mot de passe et le nom de la base de données aux variables $host
, $username
, $password
et $database
. Créez un objet de la fonction mysqli()
en utilisant le mot-clé new
et passez les variables comme paramètres de la fonction. Attribuez la valeur de l’objet dans la variable $conn
. Ecrivez une requête SQL pour tout sélectionner dans la table users
dans la variable $sql
. Utilisez une variable $result
pour stocker la fonction mysqli_query()
qui prend les variables $conn
et $sql
. Vérifiez la valeur booléenne de la variable $result
en utilisant la condition if
. Dans la condition if
, utilisez mysqli_num_rows()
avec la variable $request
comme paramètre et affectez-la à la variable $rowcount
. Imprimez la variable $rowcount
.
Exemple de code:
#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;
}
?>
Production:
The total number of rows are: 2
Utilisez une méthode orientée objet pour compter le nombre de lignes dans une table en utilisant la propriété num_rows
Nous pouvons utiliser la propriété num_rows
en PHP pour compter le nombre de lignes dans une table MySQL. Cette approche utilise la méthode orientée objet. La méthode est assez similaire à la deuxième méthode pour créer la connexion à la base de données et écrire la requête SQL. L’utilisation d’instructions préparées diffère cette méthode de la seconde. Nous utilisons la fonction prepare()
pour créer une instruction préparée, la fonction execute()
pour exécuter l’instruction préparée et la fonction store_result()
pour stocker le résultat.
Par exemple, attribuez respectivement le nom d’hôte, le nom d’utilisateur, le mot de passe et le nom de la base de données aux variables $host
, $username
, $password
et $database
. Créez un objet de la fonction mysqli()
en utilisant le mot-clé new
et passez les variables comme paramètres de la fonction. Attribuez la valeur de l’objet dans la variable $conn
. Ecrivez une requête SQL pour tout sélectionner dans la table users
dans la variable $sql
.
Utilisez une variable $stmt
pour stocker l’instruction préparée. Utilisez $conn
vairable pour appeler la fonction prepare()
qui prend la variable sql
comme paramètre. Vérifiez la valeur booléenne de la variable $stmt
en utilisant la condition if
. Dans la condition if
, utilisez la variable $stmt
pour appeler la fonction execute()
puis la fonction store_result()
. Et puis, appelez la propriété num_rows
et imprimez-la.
Exemple de code:
#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);
}
?>
Production:
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