Hallo,
es gibt vier bilder. in EINEM der felder muss ein wert stehen, also bild1 ODER bild2 ODER bild3 ODER bild4 dann will ich den datensatz sehen. (mindestens ein bild muss er angegeben haben)
ok, ich hatte Deinen zweiten Beitrag anders verstanden.
if ( (($alter eq "40") && ($blub eq "JA")) && (($bild1) || ($bild2) || ($bild3) || ($bild4) || ($text) || ($lk1)) ) { ... }
SQL ist kein Perl. Und wenn ausschließlich in $text 0 oder "0" stände, lieferte Dir Dein Perl-Code ebenfalls nicht das gewünschte Resultat (soweit ich mich erinnere).
aber diese klammerlogik geht in SQL nicht. ergebnisse kommen, aber
irrational, nicht nachvollziehbar. dat dingens spinnt.
Nö, MySQL macht zwar manch' seltsame Dinge, aber üblicherweise sehr reproduzierbare Dinge. Ich hege die Vermutung, dass Du an NULL-Werten scheiterst, auf die ich Dich gleich zu Beginn hinwies.
Im Gegensatz zu Programmiersprachen wie Perl oder PHP wird ein NULL-Wert *nicht* zu false ausgewertet, aber auch nicht zu true.
Taucht in Deinem Ausdruck in der WHERE-Klausel irgendwo ein NULL-Wert auf, so wird der Ausdruck zu NULL ausgewertet und ein entsprechender Datensatz nicht angezeigt,
Freundliche Grüße
Vinzenz