Webdesign Würzburg

PHP-Lektion 2.4 - Aufbau der Datenbankverbindung mit MySql Teil 1

Nun widmen wir uns der Datenbankverbindung und nehmen dazu die Datenbank MySql. Auf den meisten Servern ist MySql vorinstalliert, so auch in unserer Testumgebung XAMPP. Die Datenbankverbindung ansich ist relativ leicht erklärt:

<?php

$dbhost="localhost";

$dbuser="root";

$dbpass="";

$dbname="testdb";

 

$dbhandle = mysql_connect($dbhost, $dbuser, $dbpass)     or die("Keine Verbindung zum Datenbank Server");

mysql_select_db($dbname, $dbhandle) or die ($dbname . " Fehler: Tabelle nicht gefunden! " . $dbuser);

?>

Dieser Code wird dazu verwendet um die Grundlegende Verbindung mit MySql herzustellen. Da Entwickler immer genug zu schreiben haben, gebe ich offen zu diesen Code nicht auswendig zu wissen. Ich lagere mir diesen Code immer aus in eine Datei "db.php" und passe Sie meinem bedürfnissen an. Wir definieren also erstmal die hierfür wichtigen Variablen:

- $dbhost - Gibt an wo mein Datenbank Server liegt, hier auf dem Localhost oder auch "127.0.0.1"

- $dbuser - Der Benutzername der berechtigt ist auf die Datenbank zuzugreifen, hier der vorgefertigte "root" Account der über alle möglichen Rechte verfügt. Auch daher ist es nicht ratsam den XAMPP ohne weiteres als Produktivserver einzusetzen. In der Regel beschränkt man die Rechte des öffentlich zugänglichen Datenbankbenutzers.

- $dbpass - Das zugehörige Passwort des Benutzers

- $dbname - Der Name der Datenbank in MySql

Der $dbname ist auf Ihrem System noch nicht vorhanden muss dieser erst erstellt werden. Wir öffnen hierzu einen Browser und geben die folgende URL ein: http://127.0.0.1/phpmyadmin

PHPMyAdmin ist ein Tool zu Verwaltung der MySql Datenbanken. Hier können diverse Einstellungen vorgenommen werden. Wer mehr wissen möchte den bitte ich an dieser Stelle eine Suchmaschine zu benutzen.

Wir klicken auf "Databases" und sehen dann eine Übersicht über die bereits vorhandenen Datenbanken. Unter "Create new Database" können wir einen neuen Datenbank Namen vergeben. Hierzu geben Sie in das Feld "testdb" ein und klicken auf "Create". Danach erscheint die Meldung "Database created" und wir haben links in der Liste unsere neue Datenbank "testdb". Diese klicken wir wiederum an und erhalten dann die Aufforderung eine "table" zu erstellen. Hier geben wir den Namen "testtable" ein und für die Anzahl der Columns (Spalten) vergeben wir die Anzahl 2. Danach auf "Go". Nun werden wir aufgefordert die Column`s zu benennen. Die erste Spalte nennen wir "id" und die zweite nennen wir mal "daten". Bei "Type" lassen wir die "id" auf INT (steht für Integer, Ganzzahl) stehen und für "daten" wählen wir "VARCHAR" aus. Nun geben wir für beide die "Length/Values" auf 20, das bedeutet das der Inhalt nicht mehr als 20 Zeichen umfassen kann. Für die Spalte "daten" ist nun alles erledigt, bei "id" müssen wir noch etwas mehr Hand anlegen. Unter Index vergeben wir den Wert "PRIMARY" und bei "AUTO_INCREMENT" setzen wir das Häkchen. Soweit erstmal viel einzustellen, hat man dies ein paar mal erledigt geht das leicht von der Hand. Man kann auch per PHP Befehl die Datenbank zur Laufzeit erzeugen, jedoch ist das vermutlich für Anfänger noch umständlicher als mit PHPMyAdmin. Rollen wir nun in diesem Fenster etwas nach unten und klicken auf den Button "Save".

Was haben wir nun gemacht. Wir haben eine neue "Table" in unserer Datenbank erzeugt. Am besten kann man das mit einer Excel-Datei vergleichen. Wir haben eine Datenbank erzeugt (ist im übertragenen Sinne wie eine Excel-Datei erzeugt). In einer Excel-Datei habe ich Tabellen, das kann ich vergleichen mit unserem erzeugten "Table". In Excel habe ich die Spalten "A", "B", "C", etc. wir haben "id" und "daten". Durch die Angabe von dem Parameter "length/values" habe ich die Zellengröße auf 20 Zeichen begrenzt. Mehr brauchen wir erstmal nicht für unsere Einführung. Die Spalte "id" haben wir Index auf PRIMARY gesetzt, hierdurch kann man sehr sehr schnell auf die gewünschte Zeile zugreifen, ansonsten kann es zu erheblicher Ladezeit kommen wenn die Tabelle sehr groß wird. Ist in unserem Fall nicht so, aber wenn wir schon lernen - dann gleich richtig. Last but not least haben wir "id" noch auf "AUTO_INCREMENT gesetzt, dies bedeutet, dass wenn eine neue Zeile eingefügt wird die automatisch eine neuen Wert zugewiesen bekommt. Haben wir noch keine Zeile in der Tabelle und fügen eine neue ein, so erhält diese den Wert 1, fügen wir eine weitere ein erhält diese den Wert 2, usw. Jede Zeile hat also eine bestimmte ID oder auch Kennzahl auf die wir später schnell und leicht zugreifen können.

Nachdem dieser Teil schon recht lange und umfangreich ist, geht es in der nächsten Lektion weiter.

 

weiter zum PHP Tutorial Teil 2.4