Webdesign Würzburg

PHP-Lektion 2.4 - Aufbau einer Datenbankverbindung Teil 2

Wir haben in der vorherigen Lektion gelernt wie man eine Datenbank in MySql erstellt und auch eine kleine Tabelle eingerichtet. Nun kommen wir zum praktischen Teil der Arbeit. Die Datei "db.php" haben wir erstellt und gespeichert. Nun können wir diese in jede beliebige "PHP"-Datei importieren und müssen den Code nicht jedes mal neu schreiben wenn wir ihn brauchen. Erstellen wir also eine neue PHP-Datei mit dem namen "mysql_test.php" und geben folgenden Inhalt ein:

<?php
require("db.php"); // mit der Funktion "require" importiere ich den Inhalt aus der db.php in die aktuelle mysql_test.php

mysql_query("INSERT INTO testdb.testtable SET daten = 'wert' ") or die(mysql_error());

?>

Mit der Funktion "mysql_query" starten wir einen Befehl in der MySql-Datenbank. Mit "INSERT" sage ich das ich etwas in meine Tabelle einfügen möchte, mit "INTO" sage ich wohin MySql einfügen soll. Hier kommt wieder meine Datenbank "testdb" und mein "testtable" zum Einsatz. Da wir in der Datei "db.php" bereits definiert haben das wir die Datenbank "testdb" verwenden wollen, müsste ich diese hier eigentlich nicht mehr schreiben, jedoch ist es so sicherer das meine Daten auch in der Datenbank landen wo ich diese hin möchte. Nachteil ist, ändert sich die Datenbank mal muss ich überall anpassen. Einfacher wäre es dann zu schreiben:

INSERT INTO ".$dbname.".testtable ...

Muss und kann jeder für sich entscheiden, alles würde in diesem Fall funktionieren.
Mit "SET" gebe ich an das die Daten geschrieben werden sollen und zwar im Feld "daten" der Wert "1". Dieser Wert wird in einfachen Anführungszeichen geschrieben. (') Theoretisch könnte man diese auch weglassen, jedoch kann es zu Problemen kommen, also schlage ich den Weg mit den Anführungszeichen vor. Bei Integer (Ganzzahl) Werten können Sie weggelassen werden, bei manchen Datenbanken ist dies dann sogar Pflicht. Sie werden sich vielleicht wundern das wir den Wert für die Spalte "id" nicht setzen, dieser wird automatisch nun auf 1 gesetzt. Als letztes gebe ich mit der Funktion "or die" an, das im Fehlerfall das Skript unterbrochen wird (or die = oder stirb) und mir die Fehlermeldung ausgeben soll warum mein Query nicht geklappt hat. (mysql_error())

Führen wir die Datei nun einmal aus - Browser öffnen und die Seite laden wird unser Wert in die Datenbank eingefügt. Nun haben wir uns angesehen wie ich Daten in die Datenbank bekomme, nun muss ich diese irgendwann auch wieder laden und ausgeben.

<?php require("db.php"); // mit der Funktion "require" importiere ich den Inhalt aus der db.php in die aktuelle mysql_test.php

$result = mysql_query("SELECT FROM testdb.testtable WHERE id = 1") or die(mysql_error());

$arr = mysql_fetch_array($result);

echo $arr['daten'];

?>

Mit dieser Abfrage wähle ich meinen Datensatz (SELECT FROM) meiner Datenbank und Tabelle aus und zwar genau den, der die "id" 1 hat. Das Ergebnis dieser Abfrage weise ich meiner Variable "$result" zu, diese enthält nun aber nur eine Ressource ID, damit ich aber meinen Wert in der Datenbank bekomme wandle ich diese Ressource ID in ein Array um (mysql_fetch_array($result)) und übergebe die meinem Array $arr. In $arr sind nun meine Spalten vorhanden 'daten' und 'id', hier gebe ich nur die Daten aus. Rufe ich nun meine Datei auf, erscheint im Browser nun das Wort aus meiner Datenbank, in diesem Fall "wert".

Nun kommt es auch oft vor, dass ich mehrere Ergebnisse brauche, vielleicht möchten Sie dem Seitenbesucher mehrere/alle Gästebucheinträge anzeigen, so kännen Sie mit dieser Abfrage arbeiten:

<?php

require("db.php");

$result = mysql_query("SELECT FROM testdb.testtable") or die(mysql_error());

while($row = mysql_fetch_object($result)) {

echo $row->daten;

 

};

 

?>

Hiermit gebe ich alle Zeilen aus meiner Tabelle aus (klar, wir haben nur eine, Sie können ja noch mehr einfügen und dann sehen was passiert). Soweit dürfte die Vorgehensweise klar sein. Wir wissen also wie man Daten einfügt, Daten auswählt und ausgibt nun brauchen wir noch das löschen der Daten.

<?php

require("db.php");

$result = mysql_query("DELETE FROM testdb.testtable WHERE id = 1") or die(mysql_error()); 

?>

Mit "DELETE FROM" sage ich also lösche mir was von meiner Datenbank bzw. Tabelle (WHERE) wo der Wert von id '1' ist. Vorsicht, haben Sie mehrmals den Wert 1 in der Spalte id, so werden diese alle gelöscht.