Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

27.05.2005, 12:39

MySQL | 2-56 ist größer als 0 ???

Hi Leute.
Ich habe ein Problem mit der Ausgabe eines Querys, die meines achtens so nicht zustande kommen dürfte.
Ich hab auch schon bei Google nach dem Problem gesucht, aber war mir nichtmal genau sicher wonach ich da eigentlich suchen soll.

Quellcode

1
2
3
4
5
6
7
MySQL-Query:
SELECT *
FROM aop_settings_map
WHERE `place`=1
AND `x`-20 =0
AND `y`<20
AND `y`+`height`>0


Als Ausgabe erhalte ich folgenden Eintrag:
place = 1
x = 20
y = -56
width = 2
height = 2

Da ich im Query jedoch `y`+`height`>0 als Bedinung angegeben habe und -56+2 definitiv nicht größer als 0 ist, bin ich ziemlich verwirrt.
Nun, da ich denke das der Fehler bei mir liegt und MySQL OK ist, wäre es nett, wenn mir jemand hier sagen könnte was ich falsch gemacht habe.

BTW: MySQL 4.1 auf einem WinXP-Rechner

Danke im Vorraus.
mfg Süder

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Süderhofkind« (27.05.2005, 12:40)


2

27.05.2005, 18:42

ich seh da so direkt auch ncihts. versuch mal bisschen zu klammern.
>++++++++[>++++++++++++++<-]>.-.++++.--------------.
+++++++++++++++++++.>++++[>++++++++<-]>+.

3

28.05.2005, 13:46

Die Klammersetzung ist bei UND-Gattern egal, abgesehen davon habe ich das auch schon versucht.

Ich befürchte eher, dass `y` und `height` als String behandelt werden (beide Integer), also "-56+2" ergeben. Bei der Überprüfung, ob der Wert größer NULL ist, wird dann einfach abgefragt, ob der String leer ist (false/NULL) oder nicht (true/1).

Kann ich MySQL denn zwingen Werte als Integer zu behandeln?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Süderhofkind« (28.05.2005, 13:49)


4

28.05.2005, 16:32

Danke an alle, die sich mit dem Thema beschäftigt haben, ich habe die Lösung des Problems.

MySQL hat offenbar Probleme signed Integer mit unsigned Integer-Werten zu verechnen. Ich hab `width` und `height` einfach wie `x` und `y` auf signed gesetzt und es geht.
Warum MySQL dann keinen Fehler ausgegeben hat ist mir dennoch nicht ganz klar.

Egal, danke nochmal.

mfg Süder

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Süderhofkind« (28.05.2005, 16:33)


Thema bewerten