Hans Gustav: MySQL suchfunktion

Hallo,

wie kann ich mir eine suchausgabe ausgeben lassen die nicht den ganzen string prüft sondern schaut ob der eingegebene teil vorkommt

ich suche immer so

SELECT * FROM $table where name='Hans Gustav'

dann zeigt er alle hans Gustavs an also einen. will ich jetzt nur nach hans suchen findet er keinen obwohl ja schonmal mindestens einer drin steht

das ist wie mit if ($name == 'hans Gustav') print "OK";
                if (eregi('hans', $name)) print "OK";

ich suche also eregi für datenbank abfragen.
wie geht das?

MfG
Hans Gustav

  1. Guten Morgen,

    das kommt natürlich so ein bißchen auf die Datenbank an, aber wenn es nichts allzu exotisches ist, dann sollte dir:

    LIKE '%Hans%'

    das gewünschte ergebniss liefern. Ich weiß nicht genau ob die % überhaupt nötig sind, das sind eigentlich die sql-wildcards.

    schönen Gruß
    .dan.One.

    1. LIKE '%Hans%'

      moin.

      wie jetzt?

      LIKE name = '%hans%' oder wie
      kann ich auch WHERE und LIKE verbinden?

      MfG
      Hans Gsuatv

      1. hi,

        like ist ein operator wie "="
        korrekt würde es also heißen:

        name LIKE '%hans%'

        schönen Gruß
        .dan.One.

  2. Hallo Hans Gustav,

    Bei MySQL kannst Du mit dem Operator 'LIKE' Inhalte auf ein Vorkommen einer Zeichenfolge überprüfen lassen.

    z.B.:
    SELECT * FROM $table where name LIKE %hans%

    Das '%' dient als Platzhalter für beliebig viele Zeichen.

    Gruß
    Helmut Weber

    --
    -------------------------------------------
    Mode ist eine Variable, Stil eine Konstante