mysql_query("DELETE FROM…

Diskutiere das Thema mysql_query("DELETE FROM… im Forum Web-Programmierung

  1. steinmetz

    steinmetz Thread Starter Mitglied

    Beiträge:
    41
    Zustimmungen:
    0
    Mitglied seit:
    14.11.2003
    Guten Abend.

    Ich lese jetzt schon einige Zeit mit und habe jetzt auch mal eine Frage:

    Ich versuche eine Datenbank mit Webinterface zu erstellen, bin aber noch nicht so recht bewandert was mySQL und PHP betrifft und habe ein Problem wenn ich Datensäte mit

    $result=mysql_query("DELETE FROM user WHERE nick='$nick");

    löschen will.

    Wenn ich es mit

    $result=mysql_query("DELETE FROM user WHERE nick='musteruser'");

    mache geht es...

    Wenn ich mir dir Var $nick anzeigen lasse sehe ich auch den Benutzernamen, in der DB ist er auch an der richtigen Stelle...

    Wenn da jemand helfen könnte wäre das fein...


    steinmetz
     
  2. mrwho

    mrwho Mitglied

    Beiträge:
    2.548
    Zustimmungen:
    84
    Mitglied seit:
    20.07.2003
    Fehlt da ein _'_ in der ersten Query ?, oder gib die Query erst in eine Variable und dann diese an Mysql weiter.


    $query="DELETE FROM user WHERE nick='$nick'";

    $result=mysql_query($query);

    Dadurch lässt sich mit einem echo $query jedenfalls die Abfrage selbst gut kontrollieren.
     
  3. steinmetz

    steinmetz Thread Starter Mitglied

    Beiträge:
    41
    Zustimmungen:
    0
    Mitglied seit:
    14.11.2003
    Hallo.

    So
    $anfrage="DELETE FROM user WHERE nick=$nick"
    $result=mysql_query($anfrage);

    war es auch schon, was aber nichts brachte...die Var $nick wird dann mit

    print("$anfrage <br>");

    richtig ausgegeben, aber an der DB ändert sich leider nichts...
     
  4. mrwho

    mrwho Mitglied

    Beiträge:
    2.548
    Zustimmungen:
    84
    Mitglied seit:
    20.07.2003
    &nbsp;

    Mir fehlen da die Hochkommata ' bei $nick -> '$nick' " ?
    der Wert muss unbedingt in Hochkommata stehen(vielleicht hast du ja nur vergessen sie hier mitanzuschreiben ?)

    Sonst ist ja alles wie es sein sollte :confused:

    Probier einmal nach mysql_query() mittels mysql_error() ob eine Fehlermeldung vorliegt, sonst fällt mir leider nicht viel ein :confused:
     
  5. ApfelRalf

    ApfelRalf Mitglied

    Beiträge:
    651
    Zustimmungen:
    22
    Mitglied seit:
    14.01.2004
    &nbsp;

    Guten Morgen zusammen,

    was mir bei "unerklärlichen" Phänomenen immer bei der Fehlersuche hilft ist Folgendes:

    1. Immer den Fehlerfall abfangen.

    $sql = "delete from user where nick = '" . $nick . "'";
    mysql_query($sql) or die("Fehler: " . mysql_error());

    2. Wenn das nicht hilft mit "echo $sql" das Kommando ausgeben lassen und dieses dann mal in die SQL Adminoberfläche (phpMyAdmin) direkt eingeben.

    Gruß vom

    McGyver
     
  6. Delmar

    Delmar Mitglied

    Beiträge:
    816
    Zustimmungen:
    1
    Mitglied seit:
    28.09.2002
    Bzgl. Fehlermeldung ... steht auch in der FAQ! ;)

    Zu Deinem Problem ... sofern Du die Variable $nick in Hochkommata gesetzt hast, sollte
    es eigentlich funktionieren. Probier doch sonst mal folgendes:

    PHP:
    $result=mysql_query("DELETE FROM user WHERE nick='" $nick "'");

    Macht jetzt grundsätzlich nicht so den Unterschied, aber ist eine weitere Möglichkeit.
    Am besten ist aber wirklich, Du lässt Dir mal die Fehlermeldung ausgeben (Steht auch
    in der FAQ) und postet diese dann mal, sofern Du Dir selber daraus keinen Reim machen
    kannst.

    Ich könnte mir vorstellen, dass vielleicht Leerzeichen vor und nach dem String auch ein
    Grund sein könnten. Probier dazu mal, die Variable vorher mit "$nick = trim($nick)" zu
    bearbeiten.
     
  7. Jazz_Rabbit

    Jazz_Rabbit Mitglied

    Beiträge:
    1.163
    Zustimmungen:
    34
    Mitglied seit:
    20.09.2002
    Probiers mal damit:

    PHP:
    $result=mysql_query('DELETE FROM user WHERE nick=[BACKSLASH]'' . $nick . '[BACKSLASH]'');

    Die backslashes werden gefiltert in diesem Forum, deswegen hab ich den code so hingeschrieben.

    Gruss...
     
  8. steinmetz

    steinmetz Thread Starter Mitglied

    Beiträge:
    41
    Zustimmungen:
    0
    Mitglied seit:
    14.11.2003
    Guten Morgen helfende Gemeinde.

    Jetzt geht es, hatte es aber auch schon mal so(also den Wert in Hochkommata)...

    Wer kann schon sagen was es war...vielleicht hatte ich ja vergessen zu speichern oder sonst was..
    Eine Fehlermeldung hatte es nicht gegeben...Ich hatte mir nach der DELETE-Aktion immer die Daten anzeigen lassen:

    $anfrage="DELETE FROM user WHERE nick='$nick'";
    $result=mysql_query($anfrage);

    $res=mysql_query("SELECT * FROM user");
    while($row=mysql_fetch_array($res)){
    echo "Nick: ".$row['nick']."<br>";
    }


    Mensch, wenn man Anfänger ist kann einen sowas ja regelrecht irre machen...

    Danke für eure Hilfe.
     
Die Seite wird geladen...
Ähnliche Themen - mysql_query(DELETE FROM…
  1. Galanos
    Antworten:
    3
    Aufrufe:
    1.863
  2. sempai0815
    Antworten:
    34
    Aufrufe:
    1.811
  3. Eidex
    Antworten:
    10
    Aufrufe:
    1.032
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...