Announcement

Collapse
No announcement yet.

Abfrage Likes und vergleich

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage Likes und vergleich

    Moin,

    hier vorab meine Abfrage :

    $ergebnis2 = mysql_query("SELECT ID FROM daten WHERE Typ = '$Typ' AND PLZ LIKE '%".$schnellsuche_esc."%' or Name LIKE '%".$schnellsuche_esc."%' or Ort LIKE '%".$schnellsuche_esc."%'");


    das WHERE Typ = '$Typ' wird gar nicht beachtet, hat jemand eine Ahnung wieso?

    Danke im Voraus

    Gruß

  • #2
    Wie in der Algebra gibt es auch in der Logik Vorrangregeln. Hier z.B. geht z.B. UND vor OR.
    Es wird also zuerst der Ausdruck Typ = '$Typ' AND PLZ LIKE '%".$schnellsuche_esc."%' ausgewertet und dass dann mit den zwei weiteren Bedingungen OR-verknüpft.
    Willst du dort eine andere Abfolge, musst du entsprechende Klammern setzen.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Generell habe ich mir angewöhnt solche Sachen IMMER zu Klammern. Dann weiss man wenigstens zuverlässig was passiert.

      Comment


      • #4
        PHP Code:
        $ergebnis2 mysql_query("SELECT ID,Typ FROM daten WHERE (Typ = '$typ') AND (PLZ LIKE '%".$schnellsuche_esc."%' OR Name LIKE '%".$schnellsuche_esc."%' OR Ort LIKE '%".$schnellsuche_esc."%')"); 

        Top funktioniert!

        $typ <--- dieser kleine Fehler hat mich 1 Stunde gekostet (: Hatte es groß geschrieben.

        Danke!

        Gruß

        Comment

        Working...
        X