Jetzt neu: Handgebundene Tagebücher und Notizhefte by Unkelbach Art Handgebundene Notizhefte

Gesundheitliche Gründe zwingen - und bringen(!) - mich zu Veränderungen, die so nie geplant waren: Statt mit Variablen, Schleifen und Abfragen, arbeite ich jetzt mit wundervollem Papier: hauchdünnes Transparentpapier, mattweißes Schreibpapier, rustikales Kraftpapier, flexibler, schwarzer Karton, feste Graupappe und viele mehr. Aus allen entstehen handgebundene Notizbücher, Tagebücher und Notizhefte, die schon beim Ansehen Freude machen - stellt euch mal vor, wie toll es ist, auch noch darin zu schreiben!

PHP für dich bleibt euch natürlich in seiner aktuellen Form erhalten und vielleicht sehen wir uns ja mal bei Unkelbach Art, auf Facebook oder Instagram oder ihr holt euch eines meiner Produkte. Es wäre mir eine große Freude!
Mehr dazu...

MySQL

Immer mehr Daten...

... sollen in unsere Tabelle.

Das Einfügen von Daten in eine Datenbank funktioniert am sinnvollsten mit einem Formular, in das diese Daten eingegeben werden können und das danach übermittelt wird.

In unserem Fall mit der Linkliste könnte man damit z. B. eine Linkliste, in die andere ihre Seiten eintragen können realisieren. Oder es dient einfach als Online-Administration.

Ich setze jetzt also ein Formular voraus, in das die Url, der Name des Links, der Name des Seitenbesitzers, eine Bannerurl und eine Beschreibung eingetragen werden. Das Formular wird ganz normal mittels HTML erstellt, denk bitte daran, dass die Namen der einzelnen Formularfelder zu unseren Variablennamen werden. Wir wollen die Variablen url, hpname, name, banner und beschreibung verwenden.

Wenn das Formular für die Öffentlichkeit bestimmt ist, und du die übergebenen Daten nicht von Hand kontrollierst, bevor du sie in die Datenbank speicherst, ist es empfehlenswert, die aus dem Formular kommenden Daten zuerst zu überprüfen, ansonsten kann es zu Angriffen auf deine Datenbank kommen - da das aber tiefergehendes Wissen erfordert, lassen wir es für dieses Beispiel aus und übernehmen die Daten direkt.

Um es später übersichlichter zu machen, schreibe ich sie aber gerne in kurze Variablen um:
<?php
$url = $_POST["url"];
$hpname = $_POST["hpname"];
$name = $_POST["name"];
$banner = $_POST["banner"];
$beschreibung = $_POST["beschreibung"];
?>
Der Befehl zum Einfügen dieser Daten funktioniert jetzt so ähnlich wie die Abfrage. Zunächst wird festgelegt was, wo eingefügt werden soll und das wird in einer Variable gespeichert.
<?php
$eintrag = "INSERT INTO links (url, urlname, name, banner, beschreibung) VALUES ('$url', '$hpname', '$name', '$banner', '$beschreibung')";
?>
Nach dem "INSERT INTO" wird festgelegt in welche Tabelle und in welche Spalten (die Angabe der Spaltennamen erfolgt in Klammer) unsere Daten eingefügt werden sollen. Mit "VALUES" wird angegeben, was für Werte verwendet werden sollen. Da bei uns alles in Variablen gespeichert wird, werden diese Variablennamen in Hochkomma angeführt.

Da wir für die Spalte id Autowerte verwenden müssen wir diesen Wert nicht von Hand eintragen - er wird automatisch eines höher gesetzt als der vorige Wert war.

Um den Eintrag jetzt durchführen zu lassen verwenden wir wieder den Befehl mysqli_query.
<?php
$eintragen = mysqli_query($db, $eintrag);
?>
Und schon stehen die Daten in der Datenbank.

Das kann man natürlich auch wieder in einen einzelnen Befehl zusammen fassen:
<?php
$eintragen = mysqli_query($db, "INSERT INTO links (url, urlname, name, banner, beschreibung) VALUES ('$url', '$hpname', '$name', '$banner', '$beschreibung')");
?>
Gerade bei dieser Funktion passieren mir meistens Fehler, da es sehr schnell passiert, dass Variablennamen falsch geschrieben oder zuwenige Werte angeben werden. Dann erfolgt überhaupt kein Eintrag in die Datenbank. Gib also darauf acht.

SQL-Injections
Das hier ist ein Anfängertutorial, das die grundlegende Handhabung möglichst einfach und verständlich erklären soll. Es bezieht bewusst keine Sicherheitsmaßnahmen mit ein um übersichtlich und auch für Anfänger nachvollziehbar zu bleiben.
Zum Schutz vor SQL-Injections ist es in öffentlich zugänglichen Seiten anzuraten, sich mit der Funktion mysqli_real_escape_string zu beschäftigen. Beachte bitte, dass auf vielen Servern noch magic_quotes aktiv sind, die mit dieser Funktion kollidieren!


Nachdem wir jetzt Datensätze eingefügt haben, wollen wir auch wieder welche löschen.

Dieses Kapitel behandelt einen ersten Einstieg in die Arbeit mit mySQL-Datenbanken. Es dient dem grundsätzlichen Verständnis der Kommunikation zwischen PHP und der Datenbank. Für den produktiven Einsatz ist es sinnvoll, sich detailierter mit diesem Thema zu beschäftigen und besonderen Augenmerk auf Sicherheitsaspekte zu legen.

Autor: Claudia Unkelbach


Spenden via PayPal

=> Weiter
© 2001 - 2020 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen