© Liashko/Shutterstock.com
Teil 3: Datenbankprogrammierung mit PHP und MySQL

PHP kompakt


PHP und MySQL sind ein unzertrennliches Paar, und unzählige Content-Management-Systeme und webbasierte Anwendungen setzen auf diese Kombination. Die Programmiersprache PHP bietet bezüglich der Sprachmerkmale beste Voraussetzungen zur Kommunikation mit einer Datenbank. MySQL ist kostenfrei und läuft auf vielen Betriebssystemen. Die ideale Kombination also! Ebenso ist es recht einfach, mit PHP auch andere Datenbanken anzusprechen.

Webbasierte Anwendungen erfordern in der Regel auch eine umfassende Datenverwaltung. Das relationale Datenbankschema ist seit vielen Jahren Standard und nach wie vor für die meisten Anwendungszwecke bestens geeignet. Im Zusammenhang mit PHP wird sehr häufig mit MySQL-Datenbanken gearbeitet. My­SQL ist eine Open-Source-Datenbank, die seit Jahren zur Verfügung steht und einen hohen Verbreitungsgrad hat, wozu gute Dokumentationen, Hilfen im Web und vielfältige Werkzeuge beitragen. In zahllosen Projekten hat sich die Zusammenarbeit von PHP und MySQL über Jahre bewährt. Das ist für uns Grund genug, sich intensiv damit auseinanderzusetzen (Kasten „Artikelserie“).

Wie gehen wir vor? Zunächst wird gezeigt, wie wir eine einfache Datenbank in MySQL anlegen und administrieren. Dazu sind Basiskenntnisse in der Datenbanktheorie notwendig. Im Textkasten „Basics der Datenbanktheorie“ werden die wichtigsten Begriffe zum relationalen Datenschema erklärt. Im zweiten Schritt geht es darum, eine Verbindung zwischen dem PHP-Programm und der Datenbank herzustellen. Die Daten werden üblicherweise in einem Formular erfasst, nach der Validierung an die Datenbank übertragen und dort gespeichert. Die in der Datenbank abgelegten Daten muss man natürlich auch wieder abrufen können, um sie anzuzeigen oder weiterzuverarbeiten.

Alle Arbeiten mit der Datenbank erfolgen mithilfe von Transaktionen. Dazu dient die allgemeine Datenbanksprache SQL, auf die wir im Lauf des Artikels noch zurückkommen werden. Damit ist die Agenda für diesen Teil unserer einführenden PHP-Serie abgesteckt. Das Vorhaben ist wie immer anspruchsvoll, lassen Sie uns darum direkt starten!

krypczyk_php_1.tif_fmt1.jpgAbb. 1: Prinzip der Zusammenarbeit von Programm (Client) und Datenbank (DBMS-Server) [1]

Datenbank erstellen

In diesem Schritt zeigen wir, wie man die grundlegende Struktur einer Datenbank anlegt. Unser Beispiel wird sehr minimalistisch ausfallen, d. h. die Datenbank wird nur aus einer Tabelle mit drei Spalten bestehen. Dennoch werden wir alle wichtigen Schritte daran zeigen. Zunächst ist MySQL zu starten. Wir gehen wieder davon aus, dass Sie den Server XAMPP verwenden (siehe Teil 1 unserer Serie). Starten Sie den Server und damit auch gleichzeitig die MySQL-Datenbank, indem Sie die Datei xampp_start.exe aus dem Explorer heraus ausführen. Den Erfolg dieser Maßnahme können Sie über das Control-Panel (xampp-control.exe) kontrollieren (Abb. 2).

krypczyk_php_2.tif_fmt1.jpgAbb. 2: Im XAMPP-Control-Panel kann man den Status vom PHP- und MySQL-Server sehen

Für das Anlegen der Struktur der Datenbank gibt es zwei Varianten:

  • Automatisiert: Aus dem Quellcode des Programms wird mittels PHP und den entsprechenden SQL-Befehlen die Datenbank erstellt. Das passiert immer dann, wenn die Tabellenstruktur der Datenbank bereits feststeht und automatisiert, zum Beispiel im Rahmen einer Programminstallation, auf dem Server erstellt werden soll.

  • Manuell: Man erstellt die Struktur der Datenbank manuell. Meist bedient man sich dazu einer Bedienoberfläche. In der PHP-Welt und für den Zugriff auf MySQL-Datenbanken funktioniert das sehr gut mithilfe des kostenfreien Tools phpMyAdmin.

Wie wollen hier keine Ausnahme machen und eine erste Datenbank mithilfe von phpMyAdmin erstellen. Das Tool selbst ist auch ein PHP-Programm und läuft daher im Browser. Wechseln wir darum also in den Browser und rufen unseren lokalen Server (http://localhost) auf; phpMyAdmin erreichen wir unter http://localhost/phpmyadmin/ (Abb. 3).

krypczyk_php_3.tif_fmt1.jpgAbb. 3: Einfachste Administration der MySQL-Datenbank mithilfe von phpMyAdmin

Damit gelangen wir zur Administrationsoberfläche und können bestehende Datenbanken verwalten oder eine neue Datenbank anlegen. Wir klicken auf Neu, um eine neue Datenbank zu erstellen, für die ein aussagekräftiger Name zu vergeben ist: Für den ersten Test nennen wir sie „meineDatenbank“. Die Datenbank wird erstellt und wir gelangen zur nächsten Seite, auf der wir aufgefordert werden, eine erste Tabelle zu erstellen. Dabei muss unmittelbar die Anzahl der Spalten – also die Zahl der Datenfelder – angeben werden. Im nächsten Schritt sind für jedes Datenfeld der Datentyp (Tabelle 1) und weitere Eigenschaften zu bestimmen.

Datentyp

Speichergröße

Wertebereich

TINYINT

1 Byte

Ganzzahlen: 0 bis 255

Mit Vorzeichen: -128 bis +127

SMALLINT

2 Bytes

Ganzzahlen: 0 bis 65 535

Mit Vorzeichen: -32 768 bis +32 767

MEDIUMINT

3 Bytes

Ganzzahlen: 0 bis 16 777 215

Mit Vorzeichen: -8 388 608 bis +8 388 607

INT

4 Bytes

Ganzzahlen: 0 bis 4 294 967 295

Mit Vorzeichen: -2 147 483 648 bis +2 147 483 647

BIGINT

8 Bytes

Ganzzahlen: 0 bis 18 446 744 073 709 551 615

Mit Vorzeichen: -9 223 372 036 854 775 808 bis +9 223 372 036 854 775 807

FLOAT

4 Bytes

Fließkommazahlen

Ganzzahlen: 0 und 1,175494351^38 bis 3,402823466^38

Mit Vorzeichen: -3,402823466^38 bis +1,175494351^38

DOUBLE

8 Bytes

Fließkommazahlen

Ganzzahlen: 0 und 2,225^-308 bis 1,798^308

Mit Vorzeichen: -1,798^308 bis +2,225^-308

DATE

3 Bytes

Datumsbereich: von 01.01.1000 bis 31.12.9999

DATETIME

8 Bytes

Datumsbereich: von 01.01.1000 - 00:00:00 bis 31.12.9999 - 23:59:59

TIMESTAMP

4 Bytes

Wertebereich: von 01.01.1970 bis 2037

VARCHAR

Stringlänge + 1 Byte

Zeichenkette mit einer Lä...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang