1. Willkommen in der MacUser-Community!
    Seit 2001 sind wir ein Treffpunkt und Austausch-Forum rund um alle Apple Produkte.
    Wenn du alle Inhalte sehen, oder selber eine Frage erstellen möchtest, kannst du dir in wenigen Sekunden ein Konto erstellen. Die Registrierung ist kostenlos.
    Information ausblenden

mysql_query("DELETE FROM…

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von steinmetz, 02.06.2004.

  1. steinmetz

    steinmetz Thread Starter MacUser Mitglied

    Mitglied seit:
    14.11.2003
    Beiträge:
    41
    Zustimmungen:
    0
    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 MacUser Mitglied

    Mitglied seit:
    20.07.2003
    Beiträge:
    2.530
    Zustimmungen:
    81
    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 MacUser Mitglied

    Mitglied seit:
    14.11.2003
    Beiträge:
    41
    Zustimmungen:
    0
    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 MacUser Mitglied

    Mitglied seit:
    20.07.2003
    Beiträge:
    2.530
    Zustimmungen:
    81
    &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 MacUser Mitglied

    Mitglied seit:
    14.01.2004
    Beiträge:
    642
    Zustimmungen:
    22
    &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 MacUser Mitglied

    Mitglied seit:
    28.09.2002
    Beiträge:
    803
    Zustimmungen:
    1
    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 MacUser Mitglied

    Mitglied seit:
    20.09.2002
    Beiträge:
    1.137
    Zustimmungen:
    33
    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 MacUser Mitglied

    Mitglied seit:
    14.11.2003
    Beiträge:
    41
    Zustimmungen:
    0
    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.809
  2. sempai0815
    Antworten:
    34
    Aufrufe:
    1.686
  3. Eidex
    Antworten:
    10
    Aufrufe:
    984

Diese Seite empfehlen