[MySQL 4.0] SELECT LIKE Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 4.0] SELECT LIKE Problem

    Hallöchen,
    ich habe ein Problem bei einer Abfrage:
    In der DB ist eine Spalte "MATCH" vorhanden. Hier ist die Produktbezeichnung des jeweiligen Produkts hinterlegt. Im Webshop möchte ich nun ein Suchfeld integrieren, das nach Eingabe eines Suchbegriffes $wort, alle Datensätze im Feld "MATCH" nach diesem enthaltenen Suchbegriff durchsucht. Wenn ich folgende Abfrage benutze, dann findet mySQL keinen Datensatz!

    SELECT-Abfrage:
    [COLOR=red]SELECT * FROM artikel WHERE 'MATCH' LIKE '%".$wort."%' ORDER BY 'MATCH' LIMIT $offset,$zeilen"[/COLOR]

    Habt Ihr einen heißen TIP?

    Danke
    Mario
    Mario Heiß IT-Services

  • #2
    1. was sagt mysql_error() ?
    2. du kennst backticks?
    Kissolino.com

    Kommentar


    • #3
      phpMyAdmin-Analyse

      1. Kein Error vorhanden!

      Auf dem Server habe ich phpMyAdmin in der Version 2.5.3-rc1 installiert. Wenn ich nun in die Tabelle artikel gehe, "Teilw. anzeigen wähle" und dann in dem Feld MATCH den Wert %suchbegriff% eingebe, findet er mir die passende Anzahl der Datensätze. Komisch oder?
      Mario Heiß IT-Services

      Kommentar


      • #4
        Re: phpMyAdmin-Analyse

        Original geschrieben von MHeiss
        Komisch oder?
        wieso komisch? Es ist selbstverständlich dass PMA was findet, wenn auch Daten drin sind, denn PMA wurde NICHT von dir programmiert

        gibt mal deine Abfrage im SQL-Fenster von PMA, dann wirst du schon sehen.

        Kommentar


        • #5
          Re: phpMyAdmin-Analyse

          Original geschrieben von MHeiss
          1. Kein Error vorhanden!
          kann ich mir kaum vorstellen

          PHP-Code:
          SELECT FROM artikel WHERE 'MATCH' LIKE '%".$wort."%' ORDER BY 'MATCH' LIMIT $offset,$zeilen 
          diese query liefert definitiv mindestens einen fehler, da
          1. spaltennamen NICHT in ' ' gehören
          2. "MATCH" mit sicherheit in sql ein reserviertes wort ist

          du kennst backticks?
          Kissolino.com

          Kommentar


          • #6
            Problem gefunden!

            Danke für Eure Unterstützung!
            Das Problem war `` anstatt ''!

            Grüße
            Mario Heiß IT-Services

            Kommentar


            • #7
              japp.
              dadurch, dass du MATCH in single quotes gesetzt hast, hast du es zu einer Konstanten gemacht.
              Damit hatten alle Zeilen im "order by"-Feld den gleichen Wert (nämlich 'MATCH') und es hat keine Sortierung stattgefunden.
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar

              Lädt...
              X