Phpmyadmin - daten löschen aus tabelle mit php

Hallo,

ist nicht mein erster Eintrag zu diesem Thema hier.

Es geth um folgendes:

Habe mit phpmyadmin eine Datenbank und eine Tabelle erstellt. Über php greife ich darauf zu und kann Daten innerhalb der Tabelle erstellen, ändern und löschen. Naja, nich ganz. Erstellen is kein Problem, aber beim Ändern und Löschen gibts paar Probleme. Wenn ich einen Datensatz zum Löschen auswähle, werden ALLE Datensätze gelöscht. Und wenn ich einen bestimmten Datensatz bearbeiten möchte, dann spuckt er mir jedesmal den selben Datensatz aus, den ich nichmal ausgewählt habe.

Das is der Code zur Anzeige der Daten:

PHP-Quellcode:

<?php require("Verbindung.inc");
$sql = "SELECT Name, Vorname, EMail, Betreff FROM kontakt ORDER BY Name"; $ergebnis = mysql\_query($sql, $connect); $anz\_ergebnis = mysql\_num\_rows($ergebnis); for($i=0; $i \< $anz\_ergebnis; $i++) { $name = mysql\_result($ergebnis,$i,'Name'); $vorname = mysql\_result($ergebnis,$i,'Vorname'); $email = mysql\_result($ergebnis,$i,'EMail'); $betreff = mysql\_result($ergebnis,$i,'Betreff'); echo "|"; echo "" . $name . ""; echo "" . $vorname . ""; echo "" . $email . ""; echo "" . $betreff . ""; echo " "; echo " "; echo ""; } //mysql\_free\_result($ergebnis); mysql\_close($connect); ?\> Der Code is zum Ändern der Daten: PHP-Quellcode: <?php require("Verbindung.inc");
error\_reporting(E\_ALL); extract($\_POST); $sql = "SELECT Name, Vorname, EMail, Betreff FROM kontakt"; $ergebnis = mysql\_query($sql, $connect); $row = mysql\_fetch\_array($ergebnis); $name = $row['Name']; $vorname = $row['Vorname']; $email = $row['EMail']; $betreff = $row['Betreff']; echo "Name: "; echo "Vorname: "; echo "EMail: "; echo "Betreff: "; ?\> Das is die zweite Datei zum Ändern: PHP-Quellcode: <?php require("Verbindung.inc");
error\_reporting(E\_ALL); $sql = "SELECT Name, Vorname, EMail, Betreff FROM kontakt"; $sql = "UPDATE kontakt SET Name = '".$\_POST['Name']."', Vorname = '".$\_POST['Vorname']."', EMail = '".$\_POST['EMail']."', Betreff = '".$\_POST['Betreff']."'"; $aktion = "geändert"; if(mysql\_query($sql, $connect)) { echo " Kontakt **".$\_POST['Vorname']."** in der Datenbank " . $aktion . "."; } else { echo " Fehler beim Eintragen der Daten: " . mysql\_error(); } mysql\_close($connect); ?\> Und das is der Code zum Löschen: PHP-Quellcode: <?php require("Verbindung.inc");
error\_reporting(E\_ALL); $sql = "SELECT Name, Vorname, EMail, Betreff FROM kontakt"; extract($\_POST); $sql = "DELETE FROM kontakt"; $aktion = "entfernt"; if(mysql\_query($sql, $connect)) { echo " Kontakt aus der Datenbank " . $aktion . ". "; } else { echo " Fehler beim Löschen der Daten: " . mysql\_error(); } mysql\_close($connect); ?\>

SELECT spalte FROM tabelle WHERE spalte=wert;
UPDATE tabelle SET spalte=wert WHERE spalte=wert;
DELETE FROM tabelle WHERE spalte=wert;

z.B.:
UPDATE kontakt SET name = ‚Meier‘ WHERE name = ‚Schmitz‘ AND primary_key = 4711;
DELETE FROM kontakt WHERE name = ‚Meier‘ AND primary_key = 4711;

Niemals die WHERE Bedingung vergessen, sonst aktualisiert er natürlich immer ALLE Spalten oder löscht diese! :wink:

Gruß,
boog

Niemals die WHERE Bedingung vergessen, sonst aktualisiert er
natürlich immer ALLE Spalten oder löscht diese! :wink:

Ersetze bitte „Spalten“ durch „Zeilen“ oder „Datensätze“! :wink:

boog