Delete klappt nicht

soa

Erfahrenes Mitglied
Hallo zusammen.

Für das Ändern von Datensätzen würde ich gern nach dem Auslesen aller Informationen
die Daten aus der Tabelle "ansprechpartner löschen", um Sie dann durch einen Insert Befehl
wieder neu einzutragen.

Nun kann ich den betreffenden Datensatz leider nicht löschen:

PHP:
  if (!empty($ansprechpartner01) )
{      

  var_dump($id);                  

mysql_query( "DELETE  FROM ansprechpartner
			WHERE KD_ID = '$id' , $db ") or die("vorhandene Daten konnten nicht gelöscht werden");


} // end if

Anstelle von id , die übergeben wird und durch var_dump auch ausgegeben wird, habe ich schon

' ".$id." ' und ' ".$_GET["id"]." ' probiert.

Der Datensatz läßt sich einfach nicht löschen. Über phpmyadmin ist es kein Problem.

Woran könnte das liegen?

Wenn ich die Fehlerbehandlung weglasse, dann bleibt der alte Datensatz gespeichert und
wird in überarbeiteter Form noch einmal eingetragen.

Für Tipps wäre ich sehr dankbar.


Grüße
SOA
 
Vielleicht ist ja $ansprechpartner01 leer und die if-Bedingung somit nicht erfüllt ?
Lass dir doch $ansprechpartner01 auch mal per var_dump ausgeben.

B.t.w. - warum verwendest anstatt DELETE nicht UPDATE ?
 
doch, die Bedingung ist definitiv erfüllt, denn ich bekomme einen Abbruch mit meiner
sql Fehlermeldung aus der Bedingung.

Der Delete Befehl kann nicht ausgeführt werden.

wenn ansprechpartner01 leer ist, klappt alles wunderbar, denn dann wird nur ein INSERT
ausgeführt, welcher auch funktioniert.

:confused:
 
Versuchs mal damit:
PHP:
mysql_query("DELETE FROM 
                 `ansprechpartner`
             WHERE 
                 `KD_ID` = '".$id."'", $db ) or die("vorhandene Daten konnten nicht gelöscht werden");
greetz
daddz
 
soa hat gesagt.:
Für das Ändern von Datensätzen würde ich gern nach dem Auslesen aller Informationen
die Daten aus der Tabelle "ansprechpartner löschen", um Sie dann durch einen Insert Befehl
wieder neu einzutragen.
Hallo,
das gleiche kannst du auch mit dem UPDATE - Befehl machen. Zudem benötigst du
dann nur eine Datenbankanfrage.

mfg
forsterm
 
Naja, es ist ja so, dass ein Ansprechpartner auch im Nachhinein eingetragen werden
kann. Also komme ich um einen insert nicht herum.

Und dann kann die Tabelle ansprechpartner mehrere Ansprechpartner einer id haben.
Daher gibt es auch eine separate Tabelle ansprechpartner.

PHP:
f (!empty($ansprechpartner01) )
{                        

  mysql_query("UPDATE
  				 ansprechpartner
                  SET 
                      KD_ID   = '$id',
                      Name    = '$ansprechpartner01',
                      EMail    = '$email01',
                      Telefon  = '$telefon_ansprech01',
                      MobilNr = '$telefon_mobil01'
                          WHERE KD_ID = '$id'
                        
                           ", $db)or die("Update nicht möglich."); 
                          
                    
}// end if

Dieser Befehl ändert u.U. fatalerweise 2 Datensätze. Da finde ich einen Delete schon einfacher. Außerdem soll man auch Kunden löschen können. Da muss das Problem eh gelöst werden.

-->> Wie schon gesagt habe '".$id."' und ' ".$_GET["$id"]." ' schon probiert.

:confused: Es muss doch möglich sein, einen einfachen Löschbefehl auszuführen.
 
versuch es doch mal so:
PHP:
<?php 
error_reporting(E_ALL); 
require ("db.php"); 

$query = mysql_query("DELETE FROM KUNDE WHERE KD_ID= ".$_GET['id']); 
if(!$query){ 
    echo 'Nix Gelöscht'; 
    die(mysql_error()); 
}else{ 
    echo 'Gelöscht'; 
} 
?>
Bei deinem Halt..
PHP:
if (!empty($ansprechpartner01)) 
{                
$query = mysql_query("DELETE FROM ansprechpartner WHERE KD_ID= ".$_GET['id']); 
if(!$query){ 
    echo 'Nix Gelöscht'; 
    die(mysql_error()); 
}else{ 
    echo 'Gelöscht'; 
} 
} // end if
 
Zuletzt bearbeitet:
Hallo,

nehme doch nach WHERE einen zweiten Parameter dazu.

Beispiel:
PHP:
<?php

    mysql_query("DELETE FROM `ansprechpartner`
                 WHERE `Name` = '$ansprechpartner01' 
                 AND `KD_ID` = '".$_GET['id']."'", $db ) or die("vorhandene Daten konnten nicht gelöscht werden");     
?>
Gruß

RS999:)
 
Vielen vielen Dank.

PHP:
if (!empty($ansprechpartner01)) 
{                
$query = mysql_query("DELETE FROM ansprechpartner WHERE KD_ID= ".$_GET['id']); 
if(!$query){ 
    echo 'Nix Gelöscht'; 
    die(mysql_error()); 
}else{ 
    echo 'Gelöscht'; 
} 
} // end if

Das funktioniert super.

Alles fließt.
Herzlichen Dank

Soa :-)
 
Zurück