Taney: Datenbank durchsuchen mit LIKE

Hallo,
wir haben eine Spalte in der DB die "plz" heißt.
Die meisten Zeilen haben nur eine PLZ eingetragen.

Gesucht hatten wir seither mit:
... adm0 from geodb_locations where plz='"+plz+"' limit 1;");

Mir ist nun aufgefallen, dass ein paar Großstädte in dieser Spalte mit Komma getrennt mehrere PLZ eingetragen haben. Deshalb findet er mit der oberen Query die Zeile, sprich naher den Wohnort nicht.

Hab nun dies versucht:
... adm0 from geodb_locations where plz LIKE '%"+plz+"%' limit 1;")

Leider findet der jetzt alles mögliche. Davor habe ich prüfen lassen, dass die Eingabe genau 5 Zeichen haben muss.
Wenn ich nun 00000 eingebe findet er irgend etwas. ODer auch Buchstaben. (Gut,dies könnte ich auch abfangen) Aber, irgend etwas stimmt wohl mit der Query nicht.

Grüße

  1. Habe es nun mit:

    .. adm0 from geodb_locations where FIND_IN_SET('"+plz+"',plz) limit 1;");

    versucht. Schein vielversprechender zu sein ;)

    Grüße

  2. Ich grüsse den Cosmos,

    ... adm0 from geodb_locations where plz LIKE '%"+plz+"%' limit 1;")
    Aber, irgend etwas stimmt wohl mit der Query nicht.

    Wundert mich gar nicht. In einem Query darfst du Singlequotes nicht quoten. Das ") am Ende ist auch kein Bestandteil eines SQL-Queries.
    Sowas erzeugt eine Fehlermeldung und nichts anderes.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...