tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
551
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jan 2002
    Ort
    Dresden, Germany, Germany
    Beiträge
    228
    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
     
    Ich glaube an nichts, alles ist heilig - ich glaube an alles, nichts ist heilig

    -Tom Robbins-

    Jeder neue Tag bringt Überraschungen, und man(n) lernt nie aus.

  2. #2
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    PHP-Code:
    $sql "DELETE FROM korb WHERE id = '$id' "
    MySQL Handbuch lesen. Jeder Parameter muss in einfachen Hochkommatas stehen (').
     

  3. #3
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    @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-Code:
    <?
    $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";
    ?>
    Geändert von SonicBe@m (16.09.03 um 11:46 Uhr)
     
    Moep :)

  4. #4
    Registriert seit
    Jan 2002
    Ort
    Dresden, Germany, Germany
    Beiträge
    228
    @ 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.
     
    Ich glaube an nichts, alles ist heilig - ich glaube an alles, nichts ist heilig

    -Tom Robbins-

    Jeder neue Tag bringt Überraschungen, und man(n) lernt nie aus.

  5. #5
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    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...
     
    Moep :)

  6. #6
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    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.
     

  7. #7
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    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...
     
    Moep :)

  8. #8
    Ralph Ralph ist offline Mitglied Gold
    Registriert seit
    Feb 2003
    Ort
    Delmenhorst
    Beiträge
    111
    PHP-Code:
    $sql['sql_id'] = "SELECT `id` FROM korb WHERE `id` = '$id'");  // also abfragen 
    muss heissen:

    PHP-Code:
    $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.
     

  9. #9
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    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 .
     

  10. #10
    Avatar von SonicBe@m
    SonicBe@m SonicBe@m ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    447
    @Ralph
    das war nen schönheits fehler
    wennigstens einer der sich die Scripts durchliest
    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.. .)
     
    Moep :)

Ähnliche Themen

  1. Wo liegt mein Fehler?
    Von mkoeni1 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 13.12.08, 22:13
  2. Wo ist mein Fehler
    Von syntraxx im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.03.05, 23:28
  3. wo ist mein fehler?
    Von newbee im Forum Java
    Antworten: 1
    Letzter Beitrag: 15.12.03, 15:35
  4. Wo liegt mein Fehler
    Von reBourne im Forum Delphi, Kylix, Pascal
    Antworten: 4
    Letzter Beitrag: 07.11.03, 18:38
  5. Wo ist mein Fehler?
    Von djflo im Forum PHP
    Antworten: 6
    Letzter Beitrag: 10.05.02, 21:35