WHERE Abfrage mit AND und OR

Ecthelion

Erfahrenes Mitglied
Hallo zusammen,

Nach 2 Tagen googeln und lesen kann ich eine Lösung für mein Problem leider nicht finden. Was wohl auch daran liegt, das ich in Datenbanken kein Experte bin :)

Also hier mein Problem

Ich habe in der Tabelle ID's gespeichert.

ID1, ID2 und ein Feld check welches 1 oder 0 sein kann.

Nun wird die ID per Session übermittelt und ich möchte folgende Datensätze
check ist immer gleich 1
und ID1 = SESSION['ID'] oder ID2 = SESSION['ID']

Es ist immer nur ein Feld (ID1 oder ID2) mit der mitgeflieferten SESSION['ID'] belegt.

Ich hatte folgendes Probiert:

PHP:
"SELECT
ID1,
ID2
FROM
test_id
WHERE
check = '1' AND (UID = '".$_SESSION['ID']."' OR UID_freund = '".$_SESSION['ID']."') "

Die Fehlermeldung heist aber immer

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 'check = '1' AND (ID1 = '1' OR ID2 = '1')' at line 7


Als Testserver habe ich eine MySQL version 2.9 und nachher soll es auf 2.2.3 laufen.. ist nicht toll, kann ich aber im Moment nicht ändern... ich hoffe es klappt trotzdem irgendwie.

Viele Dank für die Hilfe

Ecthelion
 
Hi

Ich weiß nicht, wie sich MySQL da verhält, aber wenn ID1/ID2 und check keine varchar-Felder sind, solltest du die Werte auch nicht in Hochkommas setzen.
 
Probier mal anstatt den Punkten Kommata - also so:
PHP:
check = '1' AND (UID = '",$_SESSION['ID'],"' OR UID_freund = '",$_SESSION['ID'],"')
 
Parse error: parse error, unexpected ',' in test.php on line 12

hmmm... das ist also nicht des Rätsels lösung... :(
 
Der Punkt ist schon richtig, das hat auch nicht mit SQL zu tun sondern mit PHP. Aber egal. Hast du mal versucht nur die OR-Abfrage zu machen und wenn dies fehlerfrei läuft die AND-Klausel mit reinzunehmen? Rein von der Syntax her müßte das so eigentlich gehen. Hast du statt eines ' eventuell ein ` verwendet? Du könntet rein theoretisch, wenn alle ID eine Zahl sind, die ' auch komplett weglassen.
 
Ihr könnt mich jetzt schlagen oder nicht... aber auf einmal klappt das... ein paar mal was geändert und wieder alles zurück und es klappt... ARGH naja

Ersteinmal Herzlichen Dank an alle!

Vielleicht sollte ich einfach mal was länger ausprobieren :)

Danke

Ecthelion
 
Zurück