MySQL-Datenbanken
In einer Datenbank können Sie beliebige Daten speichern und Verwalten. Jede Datenbank kann
mehrere Tabellen enthalten, die wiederum mehrere Spalten hat. So können Sie z.B. Adressen, Buch, DVD´s
oder ein Gästebuch verwalten. Wie Sie auf MySQL-Datenbanken möcht ich anhand eines Gästebuches
hier Schritt für Schritt erklären. Hier findex Sie ein Demo dieses Gästebuches
und können zum nachvollziehen hier Downloaden.
Zuerst überlegen wir uns, welche Daten wir brauchen:
Zuerst einmal die Daten des Users, der sich ins Gästebuche einträgt. also Name, eMail-Adresse und
Homepage und zur Sicherheit die IP-Adresse. Dann noch das Datum und Uhrzeit sowie das wichtigste, der
Beitrag.
Ausserdem legen wir noch eine zweite Tabelle für den Spamschutz mit den Feldern Datum, Uhrzeit und
Spamcode an.
Feldtypen
Anders als bei PHP spielen bei Datenbanken die Feldtypen eine Rolle, so können Sie in einem Feld
für Fließkommazahlen kein Text speichern.
Folgende Feldtypen sind möglich:
INT | ganzzahlige Zahlen zwischen -2,1 bis +2,1 Mio |
VARCHAR(x) | max. 255 beliebige Zeichen (statt x muss die Anzahl der Zeichen angegeben werden |
DATETIME | Datum und Uhrzeit |
TEXT | Text bis zu 65000 Zeichen. |
DOUBLE | Fließkommazahl |
Dieses sind die wichtigsten Typen, es gibt aber noch mehr, auf die ich (noch) nicht näher eingehen möchte.
Die Strukture unserer Datenbank wird wie folgt aussehen:
Datenbank: GASTBUCH Tabelle: Beitrag
Feldname | Feldtyp | Erläuterung |
ID | INT AUTO_INCREMENT PRIMARY KEY | ID-Nr. des Eintrages (wird automatisch vergeben) |
Name | VARCHAR(30) | Name des Users |
eMail | VARCHAR(70) | eMail-Adresse |
HP | VARCHAR(70) | Homepage des Users |
IP | VARCHAR(16) | IP des Users |
Zeit | INT(11) | Datum und Uhrzeit des Eintrages |
Beitrag | TEXT | Der Beitrag des Users |
Kommentar | TEXT | Kommentar des Gastbuchinhabers |
Tabelle: Spam
Feldname | Feldtyp | Erläuterung |
ID | INT AUTO_INCREMENT PRIMARY KEY | ID-Nr. des Eintrages (wird automatisch vergeben) |
Code | VARCHAR(6) | Spam-Code |
Zeit | INT(11) | Datum und Uhrzeit |
|
PHPMyAdmin
In der Regel bekommen Sie den Datenbankname von Ihrem Webspace-Anbieter. Mit dem Programm PHPMyAdmin
können Sie dann die Administration übernehmen. Sie haben hiermit die Möglichkeit Tabellen
anzulegen, Auswertungen vorzunehmen, oder Daten einzugeben, bzw. zu bearbeiten.
Zugriff auf die Datenbank mit PHP
Um mit PHP auf eine Datenbank zuzugreifen, benötigen Sie folgende Angaben, die Sie in der Regel
von Ihrem Webspace-Anbieter bekommen.
Server | z.B. localhost |
Benutzername | z.B. Benutzer |
Passwort | z.B. Password |
Datenbankname | z.B. Databases |
Am besten speichern Sie diese Daten in eine Datei, z.B. zugriff.php in ein durch .htaccess geschütztes
Unterverzeichniss, und binden diese über ein include
in Ihren PHP-Dateien ein, da dieser
Code-Schnipsel evtl. mehrmals in diversen PHP-Dateien benötigen.
<?php
define("MYSQL_HOST", "localhost");
define("MYSQL_USER", "benutzer");
define("MYSQL_PASS", "passwort");
define("MYSQL_DATABASE", "Gastbuch");
$dblink = mysqli_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATABASE);
if (mysqli_connect_errno()) {
die('Verbindung fehlgeschlagen');
?>
Um Kontakt mit der Datenbank aufzunehmen, benutzen Sie die Funktion mysqli_connect()
, die
eine Variable eines Zeigers der Datenbank zurückgibt, die später für den Zugriff benötigt
wird. Daher speichern Sie diese am besten in der Variablen $dblink
für Datenbankzeiger.
Ist eine Funktion nicht erfolgreich, kann das Script mit die('Fehlertext')
abgebrochen werden. Fehlt diese Funktion, werden folgende Anweisungen ausgeführt.
Normalerweise wird die Datenbankverbindung automatisch wieder geschlossen. Wenn aber nach dem Abrufen der
Ergebnisse noch umfangreiche Verarbeitungsschritte erforderlich sind, kann die Datenbank mit
mysql_close()
geschlossen werden.
Das ganze sieht dann so aus:
<?php
include 'inc/zugriff.php';
?>
... hier folgt weiterer Code ...
<?php
mysqli_close($dblink);
?>