DELETE mit ORDER BY und LIMIT geht nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DELETE mit ORDER BY und LIMIT geht nicht

    hallöchen!

    Code:
    $abfrage = "SELECT COUNT(ID) FROM besucher WHERE an = $UID";
    $result = mysql_query($abfrage);
    $Anzahl = mysql_result($result,0);
    
    $Menge=$Anzahl-15;
    echo"$UID <br> $Menge <br>";
    
    if($Anzahl>15)
    {mysql_query("DELETE FROM besucher WHERE an = $UID ORDER BY an DESC LIMIT $Menge") or die("Fehler beim Löschen");}
    1. teil (erklärung):

    es werden alle datensätze gezählt von einem nutzer. es sollen max. 15 datensätze pro nutzer vorhanden sein.

    d.h. in meinem beispiel sind es aber 21 datensätze.

    darum ermittle ich die summe der datensätze, die zuviel sind.

    diese anzahl wird in die variable $Menge geschrieben.

    das klappt alles soweit!

    2. Teil:

    jetzt sollen die datensätze die zuviel sind, gelöscht werden, was aber nicht passiert.

    so klappt es, aber dann löscht er mir ja alle datensätze, auch die 15 stück die übrig bleiben sollen (was ja logisch ist bei dem code), also scheidet diese möglichkeit aus.

    Code:
    mysql_query("DELETE FROM besucher WHERE an = $UID") or die("Fehler beim Löschen");
    wenn ich den code aber erweitere mit ORDER und LIMIT funktioniert nichts mehr und es kommt nur die fehlermeldung "fehler beim löschen"!

    Code:
    mysql_query("DELETE FROM besucher WHERE an = $UID ORDER BY an DESC LIMIT $Menge") or die("Fehler beim Löschen");
    ich habe schon im forum gesucht und einiges getestet, aber nix klappt.

    wo liegt der fehler?
    Zuletzt geändert von Gamer20; 26.03.2009, 05:49.

  • #2
    wenn ich den code aber erweitere mit ORDER und LIMIT funktioniert nichts mehr und es kommt nur die fehlermeldung "fehler beim löschen"!
    Aha, und warum bist du nicht in der Lage dir die wahre MySQL-Fehlermeldung anzeigen zu lassen, so wie wir es immer wieder predigen?

    Was hat das eigentlich mit PHP zu tun?

    ich habe schon im forum gesucht und einiges getestet, aber nix klappt.
    Guck doch einfach mal ins Manual.

    wo liegt der fehler?
    Das könnte dir MySQL verraten. Vielleicht siehst du es auch selber, wenn du PHP mal um ein paar Testausgaben bemühst...

    Kommentar


    • #3
      php error report hat nix ausgespuckt und sql auch net.

      ich gebs jetzt auf, ich habe in den letzten 2 tagen, 4 std. damit verbracht das problem zu lösen.

      Kommentar


      • #4
        Ok.

        Kommentar


        • #5
          DELETE FROM besucher WHERE an = $UID ORDER BY DESC LIMIT $Menge

          ORDER BY was denn??? hier muss mysql_error() was geworfen haben und wenns ein Groschen war...
          $UID ist eine Zahl???
          $UID und $Menge sind gesetzt und enthalten den richtigen Wert?
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            hatte was vergessen hier rein zu kopieren (vor dem desc *peinlich*)!

            ich habe das jetzt mal auf einem anderem rechner getestet, dort geht es, also anscheinend ist die datenbank auf meinem laptop lediert!

            man solche fehler nerven einen echt, also wie es aussieht klappts jetzt.

            Kommentar


            • #7
              Du hast jetzt Tage verschissen, weil du einfach zu faul oder zu unfähig warst dir die MySQL Fehlermeldung anzusehen?

              Vielleicht läuft bei dir eine andere MySQL-Version oder MySQL ist bei dir anders konfiguriert. Aber man kann nur blind herumraten, wenn du keine Fehlermeldungen zeigst.

              Und was heißt vergessen reinzukopieren? Du sollst den Query für uns nicht zusammenbasteln, sondern wir wollen den Original-Query sehen, wie er zur Datenbank geschickt wird (und _nicht_ den PHP-Code mit PHP-Variablen!).
              Zuletzt geändert von h3ll; 26.03.2009, 06:25.

              Kommentar


              • #8
                Tja, manche Leute sind unbelehrbar...

                Kommentar

                Lädt...
                X