Problem mit mySQL

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Problem mit mySQL

Postby cyberoner1 » 21. January 2005 18:17

Folgendes Problem:

ich bekomme immer wenn ich von meinem Shop aus auf die Datenbank zugreifen will kommt folgende Fehlermeldung:

1064 - 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 '-20, 20' at line 1

select newsletters_id, title, length(content) as content_length, module, date_added, date_sent, status, locked from newsletters order by date_added desc limit -20, 20

ich denke mal, da ich noch keinen Newsletter erstellt habe kommt dieser Fehler.

Also gehe ich davon aus das irgendwo der Fehler darin liegt das die Datenbank mit dem Eintrag Null (also keine Daten vorhanden) nicht klarkommt.
die Frage jetzt ist nur, wie ich das behebe daß das Bild wieder so aussieht

Rundschreiben Grösse Module Gesendet Status Aktion
Angezeigt werden 0 bis 0 (von insgesamt 0 Rundschreiben) Seite 0 von 0
Neues Rundschreiben
cyberoner1
 
Posts: 7
Joined: 30. October 2004 11:55

Postby Jan H. Krüger » 21. January 2005 18:33

Schau dir mal genau die Anwendung von limit an und dann schau nochmal auf das was du geschrieben hast.

Sagt dir aber auch die Fehlermeldung bereits das sich MySQL mit dem geschriebenem limit nicht zufrieden gibt.
Jan H. Krüger
 
Posts: 152
Joined: 24. October 2004 19:42

Postby cyberoner1 » 21. January 2005 18:52

ok, ich denke er kommt mit dem Wert -20 nicht klar, anstelle dessen sollte hier wohl der Wert 0 stehen.

DOch die große Preisfrage ist jetzt wo kann ich dieses Limit von -20 auf 0 ändern?

Habe sql font da und versuche damit klarzukommen, bin aber Anfänger im Bereich SQL
cyberoner1
 
Posts: 7
Joined: 30. October 2004 11:55

Postby Wiedmann » 21. January 2005 19:21

Habe sql font da

Was ist "sql font"?

DOch die große Preisfrage ist jetzt wo kann ich dieses Limit von -20 auf 0 ändern?

Im Code von deinem Newsletter-/Shop-Script...
Oder anders, der Programmierer soll einfach seinen Fehler korrigieren und ein Update herausbringen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cyberoner1 » 21. January 2005 19:27

das Proggie heiß Richtig mySQL-Front

das interessante dabei ist, daß das ganze Online funktioniert.

Nur habe ich meinen Shop auch lokal mit Xampp installiert und dabei tritt der Fehler auf.


also denke ich, es liegt nicht an der Shop Software sondern an Apache oder Xampp
cyberoner1
 
Posts: 7
Joined: 30. October 2004 11:55

Postby Wiedmann » 21. January 2005 19:32

also denke ich, es liegt nicht an der Shop Software sondern an Apache oder Xampp

Deine Shop-Software hat einen Fehler im SQL-Query (fehlerhafte Angabe beim LIMIT). Ältere MySQL-Versionen haben diesen Fehler noch toleriert (auch wenn es da schon falsch war!). Der aktuelle MySQL, wie er auch im XAMPP ist, tut das nicht mehr und meldet diesen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cyberoner1 » 21. January 2005 19:51

Das bedeutet, das der Fehler schon immer in der DB war?

Ist ja interessant. Also spätestens dann wenn mein Provider mal aktualisiert abe ich das Prob das dann der Fehler eintritt..

Nun gut, da ich keine Ahnung habe, wie ich den Fehler beheben kann, update ich wieder auf die alte Xampp Version und kann in Ruhe damit arbeiten.

IUSt zwar nicht die beste Lösung, aber ansonsten weiß ich mir nicht zu helfen
cyberoner1
 
Posts: 7
Joined: 30. October 2004 11:55

Postby Jan H. Krüger » 21. January 2005 19:59

Vielleicht einfach anstatt -20 eine 0 schreiben ?
Bzw. sollte das blättern möglich sein wird dort wohl sowieso eher eine Variable sich finden.
Jan H. Krüger
 
Posts: 152
Joined: 24. October 2004 19:42

Postby Wiedmann » 21. January 2005 20:20

Das bedeutet, das der Fehler schon immer in der DB war?

Nein. In der Anwendung/Script. Nur hat er sich bisher nicht ausgewirkt. Die DB ist ok.

Bzw. sollte das blättern möglich sein wird dort wohl sowieso eher eine Variable sich finden.

So einfach ist das auch nicht. Viele hab einfach die Limit - Variable genommen und gesagt aktueller Wert "- 10" oder "- 20". So kommt man natürlich bei einem gewissen Punkt auf einen Wert kleiner 0. Korrekt muss man auswerten, ob die Variable "< 0" ist und sie dann gegebenenfalls auf "= 0" setzten bevor man sie im LIMIT benutzt.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

OS Commerce?

Postby ilmo » 11. April 2005 11:41

Ich hatte den Fehler mal nachdem ich in OSC eine SQL-Abfrage geändert hatte (erweitert), aber in der OSC-Datenbank das neue Feld noch nicht hinzugefügt hatte. Vielleicht hast Du auch eine Contribution dazu genommen und nicht alle Anweisungen (DB-Erweiterung gemacht) aus der Anleitung durchgeführt?
ilmo
 
Posts: 1
Joined: 11. April 2005 11:21


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 22 guests