malte: MySQL abfrage case-un-sensitive, wie?

Hi Leute,

als Keyword wird ein Ort eingegeben, der kleine oder groß geschrieben werden darf. Nun soll über

SELECT * FROM event WHERE 1 ort REGEXP '$ort'

abgefragt werden. Kenne mich mit RegExp nicht so aus und mit LIKE funktioniert es irgendwie nicht richtig.

Habt ihr einen Tipp wie ich mit "hamburg" als Keyword auch "Hamburg" in der DB finde.

Vielen Dank,
Malte

  1. Hello,

    als Keyword wird ein Ort eingegeben, der kleine oder groß geschrieben werden darf. Nun soll über

    SELECT * FROM event WHERE 1 ort REGEXP '$ort'

    abgefragt werden. Kenne mich mit RegExp nicht so aus und mit LIKE funktioniert es irgendwie nicht richtig.

    Habt ihr einen Tipp wie ich mit "hamburg" als Keyword auch "Hamburg" in der DB finde.

    Wenn die Datenbank 'normal' eingestellt ist, dann ist die SQL-Abfrage caseinsensitive.
    Du müsstet ganz im Gegenteil dann mit dem Schlüsselwort BINARY dafür sorgen, dass sie einen Byte-Vergleich durchführt.

    Was Du aber mit dem Query bezweckst, ist mir noch nicht klar

    SELECT <feldliste> FROM event WHERE 1 and ort LIKE '$ort%'
             -----------                    ---

    wobei Ort vorher durch

    $ort = mysql_real_escape_string($_POST['ort']);

    oder woher die Daten kommen, erzeugt worden sein sollte, wenn Du PHP als Schnittstelle verwendest.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1