Select funktioniert net

mC pAiN

Erfahrenes Mitglied
Hallo,

folgender Befehl bringt mir ein falsches Ergebnis:

PHP:
$dbanfrage = "SELECT * FROM " . TABELLE_PRODUKT . " LEFT JOIN " . TABELLE_GEKAUFT . " USING (produkt_id) WHERE (" . TABELLE_GEKAUFT . ".status <>'versendet' OR " . TABELLE_GEKAUFT . ".status <>'abgeholt') AND vk_id=".$_SESSION['user_id']." ORDER BY " . TABELLE_PRODUKT . ".produkt_id DESC";
$db_query  = mysql_query($dbanfrage) or die(mysql_error());

Er zeigt mir trotzdem noch die Datensätze an, bei denen der Status "abgeholt" oder "versendet" ist...

Ich habe auch schon !=, NOT LIKE und NOT versucht.
 
Ersetz doch mal das OR in der WHERE-Bedingung durch ein AND...;)

WHERE (" . TABELLE_GEKAUFT . ".status <>'versendet' AND " . TABELLE_GEKAUFT . ".status <>'abgeholt')

Du hast einen Logik-Fehler in der Abfrage.

Die Daten, die du in deiner Tabelle haben willst, dürfen weder 'versendet' noch 'abgeholt' sein; da du aber mit OR abfragst, wird eine der beiden Bedingungen immer zutreffen - und daher auch kein Datensatz ausgefiltert.

lg D;-]c
 
Zuletzt bearbeitet:
Zurück