PHP/MYSQL Datensuche falsch?
Herbert
- programmiertechnik
Hallo, ich bitte mal wieder um Hilfe
Was mache ich falsch ?
ich bekomme mit dieser Abfrage auch Daten nach denen ich gar nicht gesucht habe :
where ( a_name like 'schäb%' )
Ich bekomme z.B. Schäble ( ist ja ok )
aber auch Schabel; Schabmeier ( die such ich nicht );
Ist da irgendwo eine einstellung dass PHP/MSQL die ä und a gleichsetzt ?
Viele Grüße
Herbert
Hallo!
where ( a_name like 'schäb%' )
Ich bekomme z.B. Schäble ( ist ja ok )
aber auch Schabel; Schabmeier ( die such ich nicht );
Versuche mal:
WHERE LOWER(a_name) BINARY LIKE 'schäb%'
André Laugks
Hello,
Ist da irgendwo eine einstellung dass PHP/MSQL die ä und a gleichsetzt ?
Ja. Das ist vom verwendeten Zeichensatz und Collating Key abhängig.
Ich weiß aber auch nicht aus dem Handgelenk, wie und wo man das bei welcher _VERSION_ einstellt. Die Möglichkeiten sind nämlich zu allem Übel auch versionsabhängig.
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
Hello,
Ist da irgendwo eine einstellung dass PHP/MSQL die ä und a gleichsetzt ?
Ja. Das ist vom verwendeten Zeichensatz und Collating Key abhängig.
Ich weiß aber auch nicht aus dem Handgelenk, wie und wo man das bei welcher _VERSION_ einstellt. Die Möglichkeiten sind nämlich zu allem Übel auch versionsabhängig.
http://dev.mysql.com/doc/mysql/en/string-collating.html
Das ist die einzige Stelle, die ich so schnell finden konnte.
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
... vielen Dank für die schnelle Hilfe.
Das mit dem verwendeten Zeichensatz und Collating Key habe ich noch nicht so richtig kapiert; ich mache mich schlau.
Die ander Lösung hab ich auf die Schnelle probiert, das klappt.
Viele Grüße
Herbert
echo $begrüßung;
Das mit dem verwendeten Zeichensatz und Collating Key habe ich noch nicht so richtig kapiert; ich mache mich schlau.
Dazu kann ich auch noch http://dev.mysql.com/tech-resources/articles/4.1/unicode.html empfehlen.
echo "$verabschiedung $name";
Hello,
... vielen Dank für die schnelle Hilfe.
Das mit dem verwendeten Zeichensatz und Collating Key habe ich noch nicht so richtig kapiert; ich mache mich schlau.
Die ander Lösung hab ich auf die Schnelle probiert, das klappt.
Die ist dann aber wieder Case-Sensitive.
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
yo,
Die ist dann aber wieder Case-Sensitive.
nein, so wie sie aufgebaut ist, ist die abfrage unter dem strich nicht case-sensitive, da er beide seiten des vergleichs immer auf kleine buchstaben setzt oder mit anderen worten, es gibt niemals grossbuchstaben.
Ilja
Hello,
Die ist dann aber wieder Case-Sensitive.
nein, so wie sie aufgebaut ist, ist die abfrage unter dem strich nicht case-sensitive, da er beide seiten des vergleichs immer auf kleine buchstaben setzt oder mit anderen worten, es gibt niemals grossbuchstaben.
Ups, ja. Da hast Du Recht. Aber "lower(a_name)" kostet richtig Kraft, da i.d.R. kein vorhandener Index benutzt werden kann.
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom