Datenbankzeile per Button löschen

rollerueckwaerts

Erfahrenes Mitglied
Hallo zusammen.

Bin gerade dabei einer Tabelle, welche Userdetails darstellt, mit einem Löschen-Button zu versehen. Doch ich weiß nicht woran es liegt, aber die Zeile in der Datenbank wird einfach nicht gelöscht :(

Die notwendige product_id in der Where Bedingung wird richtig übergeben, die Datenbank Verbindung ist auch hergestellt .... was mach ich falsch ?

Hier der Code:


Ausschnitt der Html-Tabelle, mit loeschen Button
PHP:
<form action="/php_scripts/deleteproduct.php" method="post" enctype="multipart/form-data">
          
          <input name="product_name" value="<? echo $product_name ; ?>" type="hidden">
          <input name="userid" value="<? echo $userid ; ?>" type="hidden">
          <input name="product_id" value="<? echo $product_id ; ?>" type="hidden">


<?
   echo '<td><input name="loeschen" value="loeschen" type="submit"></td></form>';
?>

deleteproduct.php
PHP:
if (isset($_POST['loeschen'])) {
$sql = "delete from jos_vm_product where product_id='".$_POST['product_id']."'";
echo mysql_error();
}


Lieben Dank schoma jetz.
Greetz
Tobi
 
müsste es nicht delete * from heissen?

übrigens, ich würde daten nicht direkt aus der DB löschen sondern einen Status vergeben. Alle mit Status 1 = gelöscht, alle mit Status 0 = verfügbar. So kannst du immernoch auf "gelöschte" Daten zugreifen.
 
Select * From hatte ich auch probiert, brachte leider nicht den gewünschten Erfolg :(

übrigens, ich würde daten nicht direkt aus der DB löschen sondern einen Status vergeben. Alle mit Status 1 = gelöscht, alle mit Status 0 = verfügbar. So kannst du immernoch auf "gelöschte" Daten zugreifen.

Bei manchen Daten lohnt es sich schon die lieber zu löschen.
Bei meinem Script sind es Daten die zuvor von den Usern eingegeben wurden. Möchte deren Angaben nicht endlos sammeln.
 
hui hui das ist ja echt merkwürdig
geb ichs bei phpmyadmin ein

DELETE * FROM jos_vm_product WHERE product_id = 206
#1064 - You have an error in your SQL Syntax

Bin dann mal in die Tabelle und Zeile um sie manuell zu löschen ( das klappt zumindest :) )
Denn dabei zeigt er mir ja in nem Alert Fenster die auszuführende Sql Anweisung an.

Die denn wäre:

DELETE * FROM 'jos_vm_product' WHERE 'jos_vm_product'.'product_id' = 206 Limit 1

Wenn ich den query in phpmyadmin eingebe.
Das erschütternde Ergebnis:
#1064 - You have an error in your SQL Syntax

Wie kann das sein ? Gleiche Anfrage, doch trotzdem gehts irgendwie nur manuell in phpmyadmin !!
Habs nen paar Mal probiert, auch wegen Tippfehler und so ... aber nix, es geht nur wenn man per Klick aufs "rote X" in der Tabelle die Zeile löscht.

Hoffe jemand weiß Rat.
Lg
Tobs
 
Er will einen Datensatz mit einer eindeutige ID löschen, da kann er sich das LIMIT auch sparen.

Was soll der * in der Abfrage?

Code:
DELETE FROM jos_vm_product WHERE product_id = 206;
 
Zurück