PHP und Datenbanken im Zusammenspiel

Erstellung einer Datenbank

Bevor du PHP mit deiner Datenbank assoziieren kannst, benötigst du zunächst eine Datenbank mit mindestens einer SQL-Tabelle.
Besitzt du bereits eine Datenbank und bist mit dessen Funktionen vertraut, kannst du den folgenden Teil überspringen und direkt zum zweiten Teil (Verknüpfung von PHP mit einer Datenbank) übergehen.


Zu den einfachsten Möglichkeiten, eine Datenbank zu erstellen, zählt unter anderem phyMyAdmin .

Wenn du PHP auf einem lokalen Apache-Server mit XAMPP verwendest, ist phpMyAdmin in den meisten Fällen bereits eingerichtet. Rufe dazu einfach localhost/phpmyadmin in der Adresszeile deines Browser auf (die Apache- und MySQL-Server müssen währenddessen natürlich laufen).

Wenn du PHP hingegen auf einem Online-Webspace ausführen möchtest, erhältst du von Providern wie 1&1 in der Regel phpMyAdmin vorinstalliert. Sollte dies bei deinem Anbieter nicht der Fall sein, musst du es erst installieren.

Um eine neue Datenbank anzulegen, musst du im Seitenmenü von phpMyAdmin links auf Neu klicken und im Anschluss den Namen deiner Datenbank, die du erstellen willst, anlegen. Sollte dieser Punkt nicht vorhanden sein, musst du die Datenbank über den Admin-Bereich des Webspace-Kontos deines Providers anlegen. 

Der nächste Schritt wäre, eine Tabelle in deiner Datenbank anzulegen, um in Zukunft deine Datensätze eintragen zu können. Hierzu wählst du erneut links im Seitenmenü von phpMyAdmin die soeben erstellte Datenbank aus.

Dort wählst du die Option Erzeuge Tabelle, um ihr einen Namen zu geben und die Spaltenanzahl festzulegen.
Ist das erledigt, klickst du auf *OK.

Als Nächstes legst du eine Struktur für die Tabelle fest.

Dann auf Speichern, um die Tabelle zu erzeugen.


Wäre das erledigt, beginnst du mit dem Zuweisen der Datentypen.
Dazu klickst du im Seitenmenü links unterhalb des Datenbank-Icons auf die bereits erstellte Tabelle und wählst im Anschluss im Menü oben Einfügen aus.

Danach fügst du die Datensätze mit gültigen Werten ein und bestätigst das Ganze mit dem Button OK.

Die Tabelle enthält nun einige Datensätze und kann bei Bedarf jederzeit erweitert, verändert oder gelöscht werden. Dazu musst du nur den Button Anzeigen oben in der Menüleiste auswählen.

Nun kannst du beginnen, deine fertig erstellte Tabelle mit PHP zu verknüpfen.

Verknüpfung von PHP mit einer Datenbank 

Zuerst benötigst du folgende Informationen über deinen MySQL-Server, um eine Verbindung zu PHP herzustellen:

-Hostname
-Name des Users
-Passwort
-Name der Datenbank

Wir empfehlen dir, diese Daten in vier Variablen zu speichern.

Anschließend rufst du die PHP-Funktion mysqli_connect() auf. Diese Funktion hat höchste Priorität, da durch sie letztendlich die Verbindung zum Datenbankserver hergestellt wird. 

Die Funktion mysqli_connect() gibt als Rückgabewert eine Referenz auf die Verbindung zurück. Diese Referenz ist von großer Bedeutung, denn sie wird ausnahmslos benötigt, um eine SQL-Abfrage zu starten.
Daher solltest du sie für die weitere Verwendung in einer Variablen speichern ($connect).

Im Falle, dass du PHP und MySQL lokal über XAMPP verwendest, entspricht der Standard-Hostname einem leeren String oder localhost. Der Standardbenutzer root und das Passwort besteht ebenfalls aus einem leeren String.

Abfrage mit SQL durchführen 

Um deine Verbindung zu testen, führst du eine einfache SQL-Abfrage für die Tabelle aus, in dem Falle für die Beispieltabelle "Mitarbeiter". Mit der SQL-Abfrage SELECT * FROM Mitarbeiter kannst du dir alle Datensätze in der Tabelle anzeigen lassen.

Das Ganze kannst du auch mithilfe von PHP ausgeben lassen, indem du die zwei Funktionen mysqli_query() und mysqli_fetch_assoc() verwendest.
Hier siehst du noch einmal den kompletten Code und die dazugehörige Ausgabe im Browser.

Folgende Schritte sind zu beachten:

1. Zunächst speichern wir die auszuführende SQL-Abfrage als String in der Variablen $query.

2. Danach rufst du die Funktion mysqli_query() auf. Dadurch führst du eine SQL-Abfrage aus. Diese benötigt zwei Parameter. Die Referenz auf die Verbindung, wie auch den SQL-String zu Abfrage. Als nächstes übergibst du $connect und $abfrage. Wenn du alles richtig gemacht hast, erhältst du von der Funktion eine Ergebniskennung auf die Abfrage zurück, die du in der Variable $result speicherst. Diese wird wiederum benötigt um die Datensätze der SQL-Abfrage zu erhalten.

3. Als finalen Schritt verwendest du die Funktion mysqli_fetch_assoc() und übergibst ihr die Variable $result als Argument. Als Ausgabe erhältst du durch die Funktion mysqli_fetch_assoc() in Kombination mit der while-Schleife alle Datensätze der SQL-Abfrage hintereinander in mehreren assoziativen Arrays ($dsatz) zurück.

Jedes Attribut (Name, Vorname usw.) der Tabelle stellt in jedem dieser Arrays die Schlüssel (keys) dar, mit diesen lassen sich die passenden Werte (values) ansteuern.

Solange mysqli_fetch_assoc() Datensätze liefert, läuft auch die while-Schleife.
Werden keine weiteren Datensätze mehr gefunden, endet die Schleife und die Zuweisung $dsatz = mysqli_fetch_assoc($result) wird auf false gesetzt.
Es hängt also davon ab, wie viele Datensätze sich in deiner Tabelle befinden. Besitzt deine Tabelle beispielsweise 4 Datensätze, so würde die while-Schleife 4x mal durchlaufen und 4 Arrays erstellen. Mit jedem Schleifendurchlauf wird ein neues assoziatives Array erstellt und das vorherige überschrieben.

Bist du fertig mit deiner Abfrage, solltest du nicht vergessen, die Verbindung der Datenbank zu trennen.
Dafür verwendest du die Funktion mysqli_close($connect)

Zum Abschluss hier noch einmal der komplette Code im Überblick:

Bildquelle:

Ben Griffiths

(https://www.unsplash.com)

By accepting you will be accessing a service provided by a third-party external to https://nrml.de/