Nachdem wir nun unsere Verbindung zu unserer Datenbank hergestellt haben, können wir nun eine Tabelle erstellen, die wir dann später mit Datensätzen füttern werden.
Jetzt gibt es mehrere Möglichkeiten, so eine Tablle zu erstellen; entweder über die Konsole (siehe MySQL Create Table), oder über die Oberfläche des PhpMyAdmins, oder mit ein paar Zeilen PHP Code, den wir in unsere Datei schreiben.
Aber zunächst wollen wir alles schön strukturieren, das ist ein wichtiger Bestandteil eines jeden Scripts, um die Übersichtlichkeit zu wahren und viel Zeit zu sparen, deswegen packen wir den Code von der Datenbankverbindung in eine externe Datei, die ich jetzt mal db_connect.php nenne.
Unser eigentliches Script schreiben wir dann in die Datei index.php.
Zuerst müssen wir die db_connect.php in unsere index.php einbinden, damit wir auch auf unsere Datenbank zugreifen können. Wichtig ist, dass dies immer möglichst früh passiert, vor allen Datenbankabfragen.
include ‘db_connect.php’;
//oder auch
require ‘db_connect.php’;
?>
Jetzt kommen wir unserer ersten Tabelle immer näher. Wir wollen jetzt, mit eine paar PHP Zeilen, eine neue Tabelle in unserer Datenbank blubber erstellen.
$sql = “CREATE TABLE test_blubber (Vorname VARCHAR(15), Nachname VARCHAR(25), Ort VARCHAR(25), Beschreibung TEXT)”;
$create_table = mysql_query($sql) or die(“Konnte keine Tablle erstellt werden, weil “ . mysql_error());
?>
Jetzt müsst ihr die index.php nur noch in eurem Browser aufrufen. Zum Beispiel:
http://localhost/meinverzeichnis/index.php oder http://meinedomäne.de/index.php.
Sollte euer Browser eine weiße Seite anzeigen, dann ist das schon mal ein gutes Zeichen, weil keine Fehlermeldung ausgegeben wurde.
Eine Erklärung zu den PHP Zeilen: Als erstes brauchen wir wieder eine Variable, die wir hier $sql nennen, in der wir die Anweisung zum erstellen einer Tabelle mit dem Namen test_blubber schreiben. Jetzt müssen wir die Tabellenstruktur angeben. Zuerst kommt der Spaltenname, zum Beispiel Vorname, dann kommt der Datentyp, hier VARCHAR und in Klammern die Länge. Das ganze führen wir dann in der nächsten Zeile mit mysql_query($sql) aus. Hier sollte man auch wieder die Funktion mysql_error() verwenden, um mögliche Fehlerquellen zu erkennen, falls keine Tabelle erstellt werden kann.
Hinweis:
Bevor man sich eine Tabelle erstellt, sollte man sich im Klaren darüber sein, welche Anforderungen man an die Tabelle stellt, welche Datentypen werden gebraucht, welche Länge dürfen sie haben. Wie viele Spalten braucht man und so weiter. Es ist auch zu empfehlen, für jede Tabelle eine Spalte anzulegen, die als eindeutige Identifikation dient und als Primärschlüssel verwendet werden kann.
Das heißt, in dieser Spalte darf kein Wert zweimal vorkommen. Geeignet sind zum Beispiel EMails, Telefonnummern, Kundennummern, Artikelnummern, etc. MySQL bietet einem AUTO_INCREMENT an, das bedeutet, das man mit dieser Spalte keinen Verwaltungsaufwand hat, denn es wird ganz automatisch für jeden neuen Datensatz ein Wert erstellt. Der erste Datensatz erhält die ID 1 , der zweite automatisch die ID 2 und so weiter.
Hier noch einmal ein Beispiel für eine Tabelle mit AUTO_INCREMENT und PRIMARY KEY.
$sql = “CREATE TABLE test_blubber (ID INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY, Vorname VARCHAR(15), Nachname VARCHAR(25), Ort VARCHAR(25), Beschreibung TEXT)”;
$create_table = mysql_query($sql) or die(“Es konnte keine Tabelle erstellt werden, weil “.mysql_error());
?>
Mit einem kleinen Zusatz kann man direkt prüfen, ob es die Tabelle gibt. Würde die Tabelle nicht exestieren wird folgenden Fehlermeldung ausgegeben:
Table ‘blubber.test_blubber’ doesn’t exist
$tabelle_da = mysql_query($sql) or die(“Fehler: “.mysql_error());
echo $tabelle_da;