[MySQL 4.0] SELECT LIKE Problem

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

  • [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

    Comment


    • #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

      Comment


      • #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.

        Comment


        • #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

          Comment


          • #6
            Problem gefunden!

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

            Grüße
            Mario Heiß IT-Services

            Comment


            • #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.

              Comment

              Working...
              X