MySQL: Problem beim Löschen



  • mysql_query('DELETE FROM tabelle WHERE UserID="1" ORDER BY Zeit ASC LIMIT 10;');
    

    Keine Fehlermeldung - gelöscht wird nichts...
    Es sollen die ältesten 10 Zeilen gelöscht werden, die einem User gehören....
    wo liegt der Fehler?

    mfg (c)h



  • Ist userid ein INT?
    Wenn ja dann brauchst du keine Hochkommas. Wenn nein brauchst du einfache Hochkommas.

    Letztes ; ist nicht notwendig.
    Sollte dies keine Änderung bringen poste mal die Tabellendefinition.



  • Hast du mal danach ein echo mysql_error(); eingebaut?!



  • hmm.. ich hab bis jetzt immer doppelte Anführungszeichen verwendet und hat auch IMMER geklappt...
    ist übrigends ein INT...

    mysql_query('DELETE FROM op_npentry WHERE NPUserID=1 ORDER BY Zeit ASC LIMIT 10') or die(mysql_error());
    

    dann kommt das raus:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY Zeit ASC LIMIT 10' at line 1
    

    --------------------------------
    mach ich so...

    mysql_query('DELETE FROM op_npentry WHERE NPUserID="1" ORDER BY Zeit ASC LIMIT 10') or die(mysql_error());
    

    ... dann gibt er mir weder eine Fehlermeldung noch löscht er irgendwas...

    Tabellendefinition:

    CREATE TABLE op_npentry
    		(
    		ID           INT AUTO_INCREMENT PRIMARY KEY,
    		WriterRealID INT,
    		NPUserID     INT,
    		Zeit         DATETIME,
    		Inhalt       TEXT
    		);
    

    ich teste das ganze mit xampp. Es ist eine MyISAM Tabelle mit latin1_general_ci Kollation(was immer das heißen möge 😃 )

    mfg (c)h



  • soo..
    muss euch leider zurückpfeifen...
    der fehler lag wo anders 😉 sorry

    mfg (c)h


Anmelden zum Antworten