www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » MySQL Tutorial - Datenbank unter PHP » Datenbankanwendung Schritt für Schritt programmieren » Löschen von Datensätzen über SQL-Anweisungen

Löschen von Datensätzen über SQL-Anweisungen

Löschen funktioniert in der gleichen Weise wie Update. Nur müssen hier keine einzelnen Felder angegeben werden, sondern man sollte gewissenhaft die WHERE-Bedingung setzen. Ansonsten hat man eine komplett leere Datenbank!

Die SQL-Anweisung ist:

DELETE FROM kontakte WHERE id='1'

Diese kann so in phpMyAdmin über den Reiter SQL ausgeführt werden.

Soll es über PHP geschehen, kommt unsere query-Anweisung wieder zum Zuge:

$db->query("DELETE FROM kontakte WHERE id='1'");

Wir können nun wieder über die Anweisung affected_rows herausfinden, wie viele Datensätze betroffen sind.

$db->query("DELETE FROM kontakte WHERE id='1'");
echo $db->affected_rows;

Hier sollte nun beim Ausführen des Codes die Anzahl 1 erscheinen. Ein Datensatz wurde gelöscht, was wir über phpMyAdmin schnell kontrollieren können.

Die SQL-Anweisung ist die gefährlichste aller SQL-Anweisungen. Lässt man diese SQL-Anweisung auf einer großen Datenbank ausführen, hat man schnell eine sehr kleine Datenbank (sprich mit 0 Datensätze). Wird die WHERE-Bedingung falsch oder gar nicht gesetzt, wie im folgenden Beispiel, werden alle Datensätze gelöscht. Dazu erfolgt keinerlei Rückfrage!

$db->query("DELETE FROM kontakte");
echo $db->affected_rows;

Daher immer die WHERE-Bedingung DOPPELT kontrollieren und ein LIMIT mitgeben, wenn es Sinn macht! Oft ist es so, dass eh nur 1 Datensatz gelöscht werden soll. Daher ist dann LIMIT 1 immer ein Sicherheitsnetz, über das man im Notfall froh ist. Ein verlorener Datensatz ist nicht so schlimm wie tausende.

$db->query("DELETE FROM kontakte WHERE id='1' LIMIT 1");
echo $db->affected_rows;

Wenn also eh nur ein Datensatz gelöscht werden wird, ist die Limitierung der Anzahl der zu löschenden Datensätze extrem sinnvoll. Außerdem schadet er nicht. In dem Fall, dass es den gewählten Datensatz gibt, wird auch genau dieser Eine gelöscht. Gibt es keinen Datensatz mit dieser Bedingung und mit der Anweisung LIMIT 1 wird auch keiner (also 0 Datensätze) gelöscht. Die Anweisung LIMIT 1 verhält sich hier also neutral.

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe