phpbar.de logo

Mailinglisten-Archive

Suchfunktion in where-Klausel funktioniert nicht

Suchfunktion in where-Klausel funktioniert nicht

Andreas Kunert akunert at main-rheiner.de
Mit Jul 21 12:34:38 CEST 2004


Hallo,

Matthiaskoestler at lk-elektronik.de wrote:

>WHERE
>(((CONCAT(Name, ' ' ,  Vorname)) = 'köstler'))
>------
>

Das ist IMHO der springende Punkt.

Es werden die Felder Vorname und Name zusammengesetzt mit einem Leerzeichen.
Beispiel:
Vorname='Bernd' Name='Köster' wird zu 'Köster Bernd'
wenn die Suchbedingung nun ='Köster' heißt wie oben, dann findet er 
natürlich .... NICHTS!

Richtiger wäre es m.E. nach so.

WHERE CONCAT(Name,' ', Vorname) LIKE 'köster%'

Wird jedoch nur der Vorname übergeben, schlägt die Suche wieder fehl. 
Dazu wäre es dann sinnvoll ein LIKE '%suchbegriff%' zu machen.
Das kann aber dann bei Namen auch zu unerwünschten Ergebnissen führen.

Also überlegen, ob das CONCAT überhaupt sinnvoll ist.
Warum nicht einfach ein WHERE Name = 'köster', wenn sowieso nur der Name 
übergeben wird.

GRuß Andreas

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive