Tutorials » MySQL: Daten abrufen

Daten abrufen

Wie können wir nun auf unsere benutzer-Tabelle zugreifen und die enthaltenen Daten ausgeben?

Dazu fügen wir den folgenden Code in eine leere Textdatei ein und speichern diese unter dem Namen benutzer.php.

Die Erklärung gibts, wie immer, weiter unten:

Code anklicken zum kopieren

<?php
require "db-connection.php";
?>

<!DOCTYPE html>
<html>
<head>
<title>Benutzerdaten</title>
<style>
table {
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 8px;
}
</style>
</head>
<body>

<h1>Benutzerdaten</h1>

<table>
<tr>
<th>Name</th>
<th>Alter</th>
<th>Email</th>
</tr>

<?php
$stmt = $conn->query("SELECT * FROM benutzer");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if ($stmt->rowCount() > 0) {
foreach ($rows as $row) {
echo "<tr>";
echo "<td>" . $row["name"] . "</td>";
echo "<td>" . $row["alter"] . "</td>";
echo "<td>" . $row["email"] . "</td>";
echo "</tr>";
}
} else {
echo "<tr><td colspan='3'>Keine Benutzerdaten vorhanden</td></tr>";
}
?>

</table>

</body>
</html>

<?php
// Datenbankverbindung schließen
$conn = null;
?>

Code anklicken zum kopieren

Erklärung des Codes

1. require "db-connection.php";
Diese Zeile bindet die Datei "db-connection.php" ein, welche unsere Verbindungsdaten enthält.

2. Der HTML-Code definiert das Aussehen und die Struktur der HTML-Seite. Es enthält den Titel "Benutzerdaten" und eine einfache CSS-Stildefinition für die Tabelle, welche unsere Benutzerdaten ausgibt und aufbereitet.

3. Der PHP-Code:
require "db-connection.php";
Dieser Befehl lädt das Skript "db-connection.php", das die Datenbankverbindung initialisiert.

<?php ... ?>
Hier beginnt der PHP-Code, der die Benutzerdaten abruft und in der Tabelle anzeigt.

$stmt = $conn->query("SELECT * FROM benutzer");
Dieser Code führt eine SQL-Abfrage auf der Datenbank aus, um alle Daten aus der Tabelle "benutzer" abzurufen. Das Ergebnis wird im $stmt-Objekt gespeichert.

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
Mit diesem Code werden alle Zeilen des Abfrageergebnisses in einem assoziativen Array namens $rows gespeichert. Jede Zeile enthält ein Array mit den Spaltennamen als Schlüssel und den entsprechenden Werten.

if ($stmt->rowCount() > 0) { ... } else { ... }
Hier wird überprüft, ob Zeilen im Abfrageergebnis vorhanden sind. Wenn dies der Fall ist, wird eine Schleife gestartet, um die Zeilen zu durchlaufen und die Benutzerdaten in der Tabelle anzuzeigen. Andernfalls wird eine Meldung ausgegeben, dass keine Benutzerdaten vorhanden sind.

$conn = null;
Am Ende wird die Datenbankverbindung geschlossen, indem das $conn-Objekt auf null gesetzt wird.


Zurück Weiter


Kommentare

Möchtest du etwas zu diesem Tutorial sagen?