Zeilen in MySQL PHP zählen
-
Verwenden Sie die PDO-Methode
fetchColumn()
, um die Gesamtzahl der Zeilen in einer MySQL-Tabelle zu zählen -
Verwenden Sie eine prozedurale Methode, um die Anzahl der Zeilen in der MySQL-Tabelle mit der Funktion
mysqli_num_rows()
zu zählen -
Verwenden Sie eine objektorientierte Methode, um die Anzahl der Zeilen in einer Tabelle mithilfe der Eigenschaft
num_rows
zu zählen
Wir werden eine Methode einführen, um alle Zeilen aus einer Tabelle in MySQL in PHP mit den Methoden fetchColumn()
und COUNT()
zu zählen. Die Funktion fetchColumn()
wird von PDO (PHP Data Objects) angegeben, und die Methode COUNT()
ist eine SQL-Funktion. PDO ist eine objektorientierte Methode zum Verbinden der Datenbank und des Backends. Diese Methode ist flexibel, da PDO mit 12 verschiedenen Datenbanksystemen kompatibel ist.
Wir werden eine andere Methode demonstrieren, um alle Zeilen aus einer Tabelle mit der Funktion mysqli_num_rows()
zu zählen. Diese Methode verwendet eine objektorientierte Methode, um die Datenbankverbindung mit dem Server mithilfe der Funktion mysqli()
herzustellen. Der Rest des Prozesses erfolgt jedoch prozedural.
Wir werden eine Möglichkeit demonstrieren, alle Zeilen aus einer Tabelle mithilfe der Eigenschaft num_rows
in PHP zu zählen. Diese Methode folgt der vollständigen objektorientierten Praxis, um die Datenbank zu verbinden und die Gesamtzahl der Zeilen zu zählen. Die Verwendung der Anweisung vorbereitet
in dieser Methode schützt sie vor der Sicherheitsanfälligkeit der SQL-Injection.
Verwenden Sie die PDO-Methode fetchColumn()
, um die Gesamtzahl der Zeilen in einer MySQL-Tabelle zu zählen
PDO ist eine der objektorientierten Möglichkeiten, die Datenbank mit dem PHP-Server zu verbinden. Wir können die in PDO verfügbare Methode fetchColumn()
verwenden, um die Zeilen der Tabelle zu zählen. Zunächst erstellen wir eine Datenbank und füllen die Tabelle mit Daten. Anschließend richten wir die Datenbankverbindung mit dem richtigen Host, Datenbankbenutzernamen, Datenbankkennwort und Datenbanknamen ein. Wir verwenden eine Instanz eines PDO-Objekts, um die Verbindung zu speichern. Sobald wir sichergestellt haben, dass die Datenbankverbindung funktioniert, fragen wir die SQL-Anweisung mit der Funktion COUNT()
ab und führen sie aus. Die Funktion COUNT()
verwendet das Parameter *
als Parameter, der alle Zeilen in der angegebenen Tabelle zählt. Dann verwenden wir die Methode fetchColumn()
, um die Anzahl der Zeilen in der Tabelle anzuzeigen.
In den folgenden Anweisungen wird davon ausgegangen, dass eine Datenbankverbindung zum Server hergestellt wurde. Die Tabelle in der Datenbank enthält zwei Zeilen.
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)
Schreiben Sie beispielsweise in Test.php
eine Klasse mit dem Namen Test
, die die Klasse DB
erbt. Schreiben Sie eine öffentliche Funktion getRowsNumber()
in die Klasse. Weisen Sie eine Variable $sql
zu und schreiben Sie mit der Anweisung SELECT
eine Abfrage, um alles aus der Tabelle users
auszuwählen. Verwenden Sie COUNT(*)
in der Anweisung SELECT
, um die Anzahl der Zeilen zu zählen. Verwenden Sie die Funktion connect
, um die Verbindung von DB.php
abzurufen, und fragen Sie den oben geschriebenen SQL-Befehl mit der Funktion query()
ab. Weisen Sie diese Aufgaben einer Variablen $stmt
zu. Verwenden Sie die Variable $stmt
, um die Methode fetchColumn()
aufzurufen und das Ergebnis anzuzeigen.
Im folgenden Beispiel enthält die Oberklasse DB
eine Methode connect()
, die die Datenbankverbindung enthält. Die Funktion getRowsNumber()
wird aus einer anderen PHP-Datei aufgerufen als:
$testObj = new Test();
$testObj->getRowsNumber()
Beispielcode:
# 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;
}
}
Ausgabe:
The total number of rows is: 2
Verwenden Sie eine prozedurale Methode, um die Anzahl der Zeilen in der MySQL-Tabelle mit der Funktion mysqli_num_rows()
zu zählen
Wir können die Funktion mysqli_num_rows()
in PHP verwenden, um die Zeilen in einer MySQL-Tabelle zu zählen. Wir können ein Objekt der Funktion mysqli()
erstellen, um die Datenbank mit dem PHP-Server zu verbinden. Die Funktion verwendet Hostnamen, Benutzernamen, Kennwort und Datenbanknamen als Parameter. Wir schreiben die SQL-Anweisung, um jede Zeile aus der Tabelle auszuwählen. Wir verwenden die Funktion mysqli_query()
, um die Datenbankverbindung zu verwenden und die Abfrage auszuführen. Dann verwenden wir die Funktion mysql_num_rows()
, um die Anzahl der Zeilen zu zählen und anzuzeigen.
Im folgenden Beispiel werden dieselbe Datenbank, dieselbe Tabelle und dieselben Daten in der Tabelle wie in der ersten Methode verwendet.
Weisen Sie beispielsweise den Variablen $host
, $username
, $password
und $database
den Hostnamen, den Benutzernamen, das Kennwort und den Datenbanknamen zu. Erstellen Sie mit dem Schlüsselwort new
ein Objekt der Funktion mysqli()
und übergeben Sie die Variablen als Parameter der Funktion. Weisen Sie den Wert des Objekts in der Variablen $conn
zu. Schreiben Sie eine SQL-Abfrage, um alles aus der Tabelle users
in der Variablen $sql
auszuwählen. Verwenden Sie eine Variable $result
, um die Funktion mysqli_query()
zu speichern, die die Variablen $conn
und $sql
verwendet. Überprüfen Sie den booleschen Wert der Variablen $result
unter Verwendung der Bedingung if
. Verwenden Sie in der Bedingung if
mysqli_num_rows()
mit der Variablen $request
als Parameter und weisen Sie sie der Variablen $rowcount
zu. Drucken Sie die Variable $rowcount
.
Codebeispiel:
#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;
}
?>
Ausgabe:
The total number of rows are: 2
Verwenden Sie eine objektorientierte Methode, um die Anzahl der Zeilen in einer Tabelle mithilfe der Eigenschaft num_rows
zu zählen
Wir können die Eigenschaft num_rows
in PHP verwenden, um die Anzahl der Zeilen in einer MySQL-Tabelle zu zählen. Dieser Ansatz verwendet die objektorientierte Methode. Die Methode ist der zweiten Methode beim Erstellen der Datenbankverbindung und beim Schreiben der SQL-Abfrage ziemlich ähnlich. Die Verwendung vorbereiteter Anweisungen unterscheidet diese Methode von der zweiten. Wir verwenden die Funktion prepare()
, um eine vorbereitete Anweisung zu erstellen, die Funktion execute()
, um die vorbereitete Anweisung auszuführen, und die Funktion store_result()
, um das Ergebnis zu speichern.
Weisen Sie beispielsweise den Variablen $host
, $username
, $password
und $database
den Hostnamen, den Benutzernamen, das Kennwort und den Datenbanknamen zu. Erstellen Sie mit dem Schlüsselwort new
ein Objekt der Funktion mysqli()
und übergeben Sie die Variablen als Parameter der Funktion. Weisen Sie den Wert des Objekts in der Variablen $conn
zu. Schreiben Sie eine SQL-Abfrage, um alles aus der Tabelle users
in der Variablen $sql
auszuwählen.
Verwenden Sie eine Variable $stmt
, um die vorbereitete Anweisung zu speichern. Verwenden Sie $conn
vairable, um die Funktion prepare()
aufzurufen, die die Variable sql
als Parameter verwendet. Überprüfen Sie den booleschen Wert der Variablen $stmt
mit der Bedingung if
. Verwenden Sie in der Bedingung if
die Variable $stmt
, um die Funktion execute()
und dann die Funktion store_result()
aufzurufen. Rufen Sie dann die Eigenschaft num_rows
auf und drucken Sie sie aus.
Beispielcode:
#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);
}
?>
Ausgabe:
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