LIMIT beisst ORDER BY

Hallo Leute!

Ich habe ein nervendes Problem. Ich bin gerade am meine Blätterfunktion am überarbeiten. Nun stosse ich auf Widerstand bei der mysql Abfrage:

$sql = "SELECT ort,name,text,id,time FROM gb WHERE ort = 'intern' LIMIT $anfang, $proseite ORDER BY id DESC";
Wenn ich den Code so schreibe, bekomme ich die Errormeldung, dass der Syntax nicht stimmt. Lösche ich den ORDER BY Teil raus, funktioniert es tiptop, ausser dass die Beiträge falsch rum angezeigt werden. Lösche ich das LIMIT raus, funktionierts auch prima, ausser dass natürlich alle Beiträge angezeigt werden.

Sieht jemand meinen Fehler?

Vielen Dank!

hihi, habs doch gleich rausgefunden - sehr komisch…

ORDER BY und LIMIT vertauschen und es funktioniert!

Warum ist das so? Warum muss LIMIT am Schluss stehen? Gibt es da eine plausible Erklärung?
Fragen über Fragen :wink:

Das kann ich mir nur so erklären: Du hasst einen Registerkasten mit X Einlegern.

Wenn du erst alles sortierst (order by) und dann verteilst (limit) dann geht das wunderbar.
Wenn du aber erst deine Karteikarten verteilst und dann sortieren willst, dann gibt es Probleme.

jo. ich denke das ist es!

Moin,

jein - auch wenn es so schon Sinn macht, wie kerbination es erklärt hat, gibt es noch eine weitere ganz banale Erklärung. Die (My-)SQL-Syntax folgt bestimmten Regeln, d.h. man kann nicht einfach Sachen hin und hertauschen, sondern muss sich daran halten, weil es ansonsten schlichtweg nicht funktioniert (wie du schon bemerkt hast).

MfG
myPages