Datensatz aus Tabelle löschen

wessve

Grünschnabel
Hallo,

ich komme einfach nicht weiter. Ich möchte einen Datensatz aus einer Tabelle löschen. Habe dazu ein Formular mit einem Auswahlfeld und einem Textfeld D1 und T1 nun sollen die Inhalte der beiden Felder in die Variable $D1 und $T1 übergeben werden und mit dem Bestätigen (GO Button) Folgende Operation ausführen:
Code:
´
if($_REQUEST['Send']) {
                        $D1 = $_POST["D1"];
                        $T1 = $_POST["T1"];

                         $loeschen = "Delete FROM `telefone` WHERE (`Marke`) == VALUES ('$D1') and (`Bezeichnung`) == VALUES ('$T1')";

                          $loescht = mysql_query($loeschen);

                                          }

Der code wird ohne Fehler ausgeführt aber gelöscht wird leider nichts. Habe das Drumrum jetzt auch weggelassen, da der DB Zugriff usw. ja alles funktioniert.
Danke für eure Hilfe
Sven
 
PHP:
$sql = "DELETE FROM `telefone` 
WHERE `Marke` = '".$D1."' 
AND `Bezeichnung` = '".$T1."'";

Versuch es mal so.

Zusätzlich rate ich dir die Eingaben unbedingt zu prüfen, bevor du sie benutzt, sonst passiert sowas:
http://de.wikipedia.org/wiki/SQL_Injektion
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort aber so passiert auch nichts. So hatte ich es auch schon nur ohne die Punkte vor $D1 oder $T1.
Ich probiere ja schon seit einigen Stunden.
 
Hi,

lass dir doch einfach mal den SQL-String ($sql oder $loeschen) ausgeben.
Dann nimm dir sowas wie phpMyAdmin zur Hand u. teste das Ganze mal manuell.
Dann siehst du was für einen Fehler er dir ausgibt, weil die SQL-Anweisung von Felix ist korrekt.
 
Also Manuell in PHP MyAdmin funktioniert ja meine abfrage, nur da gebe ich anstelle der Variablen die korekten suchwörter ein. aber gerade die sind ja nun Variabel und sollen per Formular ausgesucht sowie eingegeben werden.
 
Kopier den String was er dir ausgibt u. füg dann genau diesen manuell ein.
Wenn das geht, liegt es auf jedenfall nicht am Statement.

Besteht denn die DB-Verbindung zu diesem Zeitpunkt?
 
Das geht ja nun gerade nicht, da ich ja die Daten aus den Variablen übergeben muss, sonst könnte ich das löschen ja gleich in PHP MyAdmin machen. Soll aber über dieses Formular geschehen.
 
Versuch es mal so:

PHP:
mysql_query($loeschen) or die(mysql_error());
 
Zuletzt bearbeitet:
Wenn ich mich nicht grad Irre, dann wird das Query sehrwohl ausgeführt und der Returnwert dann der variable zugewiesen.
Ist ungefähr das gleich, als wenn du inner If-Schleife schaust ob das Query ging.
Also ich bin ehrlich gesagt wirklich der Meining das es trotzdem gehen müsste.
 
hmmmm........

Genau das selbe, es kommt keine Fehlermeldung aber es passiert auch nichts.
Datenbankverbindung ist korrekt. Eintragen von daten funktioniert jedenfalls tadellos. Nur löschen tut sich ein wenig schwer.
 
Zurück