Nachdem die Verbindung zur MySQL-Datenbank hergestellt wurde, können Sie z. B. die Anzahl der Datensätze oder alle Datensätze der Datenbank appelmann, Tabelle bestellung anzeigen.
Anzahl der Datensätze anzeigen mit der rowCount()-Methode
Wenn Sie wissen möchten, wie viele Datensätze eine SQL-Abfrage zurückliefert, verwenden Sie die Methode rowCount() von PDO.
Syntax der rowCount()-Methode
$stmt->rowCount();
Diese Methode liefert die Anzahl der Datensätze, die mit dem SQL-Befehl SELECT zurückgegeben werden. Der Parameter $stmt ist ein PDOStatement-Objekt, das durch die Methode PDO::query() oder PDO::prepare() erstellt wurde.
Mit dieser Methode erhalten Sie die Datensätze einer SQL-Abfrage als Array.
Syntax der fetch()-Methode
$stmt->fetch(PDO::FETCH_ASSOC);
Der anzugebende Parameter $stmt stellt das aktuelle PDOStatement-Objekt dar, das das Ergebnis der SQL-Abfrage enthält. Mit dem optionalen Parameter PDO::FETCH_ASSOC geben Sie an, dass Sie die Daten als assoziatives Array erhalten möchten, wobei die Spaltennamen als Array-Schlüssel verwendet werden (z. B. $zeile['sorte']). Sie können auch PDO::FETCH_NUM verwenden, um die Daten als numerisches Array (z. B. $zeile[3]) zu erhalten. PDO::FETCH_BOTH ermöglicht beide Varianten.
Beispiel: db_appelmann.php
<?php $server = "localhost"; $user = "root"; $passwort = ""; $database = "appelmann"; $table = "bestellung"; try { //Mit PDO wird eine Verbindung zur MySQL-Datenbank hergestellt. Der DSN (Data Source Name) enthält die Verbindungsinformationen: Host, Datenbankname und Zeichensatz. $dsn = "mysql:host=$server;dbname=$database;charset=utf8"; $pdo = new PDO($dsn, $user, $passwort); //setAttribute setzt den Fehlermodus auf ERRMODE_EXCEPTION, wodurch bei Fehlern eine Ausnahme (Exception) ausgelöst wird. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM $table"; $stmt = $pdo->query($sql); $anz = $stmt->rowCount(); echo "<p><br> In der Tabelle <b>$table</b> befinden sich $anz Datensätze:</p>"; while ($zeile = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $zeile["Name"].", " .$zeile["Strasse"].", " .$zeile["Ort"].", " .$zeile["Sorte"].", " .$zeile["Menge"]."<br>"; } $pdo = null; // Verbindung schließen } catch (PDOException $e) { echo "Fehler: " . $e->getMessage(); } ?>
Die Anzahl der Datensätze ermitteln Sie mit der Methode rowCount(). Mithilfe der Methode fetch() ermitteln Sie ein Array, das dem aktuellen Datensatz der Tabelle entspricht. Gleichzeitig wird durch diese Methode der Datensatzzeiger auf den nächsten Datensatz des Ergebnisses gesetzt. Durch die while-Schleife werden alle Datensätze der Tabelle nacheinander in ein assoziatives Array ($zeile) übergeben. Wenn keine weiteren Datensätze vorliegen, gibt fetch() false zurück.