Was ist mein Fehler?

lordofscotland

Erfahrenes Mitglied
Hi Leute,

entweder ist meine herangehen falsch oder meine Denkweise.

Folgendes Problem, ich möchte über Textlink einen Eintrag aus einer DB löschen

<a href='loesch.php?id=$z[9]'>l&ouml;schen</a>

Und das ist der Quellcode zum löschen

<?
$a = PHPSESSID;
print "$id";
$sql = "DELETE FROM korb WHERE id = $id";
if ($id == id)
print "gefunden";
Header("Location: warenkorb_2.php?art=$a");
else
print "Fehler <br> $sql";
?>

Nur leider bringt mir das nur die Mitteilung Fehler und zeigt mir dann die SQL-Anweisung an, so wie ich es wollte.

Was ist der Fehler in dem System?

Danke im voraus.


Mike
 
@Wolfsbein
schön das du dich beteiligen möchtest aber das nächste mal schau dir evt mal den poste genauer an bevor du auf '1' nen Fehler aufmerksam machst der nichts ändern wird...
<a href='loesch.php?id=$z[9]'>löschen</a>
wird sowieso nie gehen
<a href="loesch.php?id=<?=$z[9]?>">löschen</a>
das schon eher

benutz mal das hier.
ausserdem muss mal deine Mysql-connection aufgemacht werden...
PHP:
<?
$a = PHPSESSID; // ich lass es mal drinnen wegen dem Link unten
print "$id"; // funktioniert nur wenn register_globals an ist ansonsten $_GET["id"];
$sql['delete'] = "DELETE FROM korb WHERE `id` = '$id'"); // das ist nur ein String keine Query...
// if ($id == id) // das wird nicht funktionieren da du nichts abholst...
$sql['sql_id'] = "SELECT `id` FROM korb WHERE `id` = '$id'");  // also abfragen
$result  = mysql_query($sql['sql_id']) or die(mysql_error());
$row = mysql_fetch_array($result); // hier hollen wir die Daten ab
if ($id == $row[id]){ // hier nun abfragen ob es die id gibt
   //mysql_query($sql['delete'] ) or die(mysql_error()); // <- das ist der query (wenn die '//' weggemacht werden wird der Eintrag gelöscht!)
   print "gefunden";
   Header("Location: warenkorb_2.php?art=$a");
}
//else //das brauchen wir nun nichtmehr!
//print "Fehler <br> $sql";
?>
 
Zuletzt bearbeitet:
Es klappt nicht....

@ SonicBe@m

hab dein Script ausprobiert, da bekomme ich diesen Fehler

Parse error: parse error in C:\wampp2\htdocs\tch\shop\php\loesch2.php on line 5

hab vorhin vergessen die Datenbankverbindung einzubinden, das ist jetzt der Fall.
<?
$link = mysql_connect();
$db = mysql_select_db("shop2",$link) or die ("Keine Verbindung zur Datenbank");
?>

und wenn ich mein Script nutze, derzeit lass ich mir noch die SQL-Anweisung ausgeben

DELETE FROM korb WHERE id = '7' and korb_id = 'b74e2d05c9652132c900a29548624512'

Löscht es nicht den Eintrag.
 
Poste mal bitte den Code wo du den parse error bekommst
nen parse error line 5 bringt mir nichts weil ein Syntax-fehler exestiert z.b. nen Semikolon.

also poste den Code dann kan man dir auch weiter helfen.
auf deine Frage brauche ich nicht Antworten weil du scheinbar keine Ahnung im umgang mit Mysql hast kann das sein ^^?
Und demzufolge kann ich nur mit weitere Fragen von dir rechnen...
 
Original geschrieben von SonicBe@m
@Wolfsbein
schön das du dich beteiligen möchtest aber das nächste mal schau dir evt mal den poste genauer an bevor du auf '1' nen Fehler aufmerksam machst der nichts ändern wird...
Ich gehe davon aus, dass er weiß wie man Variablen in einen String einbindet. Denn wenn er das nicht kann, muss man ganz von vorne anfangen.
 
Jo nur deine art zu Antworten gleicht der keine Antwort abgegeben zu haben.
Da ich dann zu 100% sagen kann das er nach dem ändern wieder ankommt uns auf den nächsten Fehler aufmerksam macht.
Also lieber nachdenken dann schreiben und sich dann lieber nochmal gedanken drum machen anstatt kurz anlesen dann schreiben und meinen das alles passt...
 
PHP:
$sql['sql_id'] = "SELECT `id` FROM korb WHERE `id` = '$id'");  // also abfragen

muss heissen:

PHP:
$sql['sql_id'] = "SELECT `id` FROM korb WHERE `id` = '$id'";  // also abfragen

Die Klammer am Ende ist überflüssig oder? Ansonsten siehts gut aus, bis auf die Positionierung der Header() Funktion.

Da vorher ein print gemacht wird, wird Header() wohl nicht ausgeführt werden können.
 
Original geschrieben von lordofscotland
...Nur leider bringt mir das nur die Mitteilung Fehler und zeigt mir dann die SQL-Anweisung an, so wie ich es wollte....
@Sonic: Daraus schließe ich, dass er weiß wie es geht. Und du brauchst mir nicht sagen, dass ich Beiträge erst lesen soll.
Schön dass du dich so rege beteiligst :rolleyes:.
 
@Ralph
das war nen schönheits fehler :D
wennigstens einer der sich die Scripts durchliest :D
und wegen dem Header haste recht
mann sollte einfach nur die Zeilen mit dem echo rausschmeissen die braucht man eh net, eher nur zum debugen.. .)
 
Zurück