munchen / münchen zoeken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis meijer

dennis meijer

03/08/2011 21:17:27
Quote Anchor link
Mensen,

Ik heb een simpel regeltje:

[script]$result = mysql_query("SELECT * FROM users WHERE city LIKE '%".$_POST['zoeken']."%'") or die (mysql_error());[/script]

Als een gebruiker nu als city "München" heeft en ik zoek op "Munchen" dan vind die hem niet.

Hoe kan ik dit oplossen dat als ik "Munchen" zoek dat hij ook "München" laat zien als resultaat.

Groeten Dennis
 
PHP hulp

PHP hulp

16/05/2021 11:20:58
 
Vincent Huisman

Vincent Huisman

03/08/2011 22:59:27
Quote Anchor link
pas goede foutafhandeling toe en denk om sql injection
 
Kees Schepers

kees Schepers

04/08/2011 00:06:54
Quote Anchor link
Dennis meijer op 03/08/2011 21:17:27:
Mensen,

Ik heb een simpel regeltje:

[script]$result = mysql_query("SELECT * FROM users WHERE city LIKE '%".$_POST['zoeken']."%'") or die (mysql_error());[/script]

Als een gebruiker nu als city "München" heeft en ik zoek op "Munchen" dan vind die hem niet.

Hoe kan ik dit oplossen dat als ik "Munchen" zoek dat hij ook "München" laat zien als resultaat.

Groeten Dennis


Dit heeft alles te maken met de collation van je veld :) Je hebt in MySQL karakter sets en collaties die veel met elkaar te maken hebben. Karakterset zegt iets over hoe tekst opgeslagen wordt en bijv. hoeveel bytes een karakter bevat en een collatie is bepaald hoe de daadwerkelijke tekst behandeld wordt bij vergelijkingen e.d.

In jouw geval zou je dus eventueel de collatie op het veld german_ci (weet de volledige benaming ff niet) kunnen zetten. Dit betekend dan dat Munchen hetzelfde als München is. Stel je hem dus in op latin1_swedisch_ci wat vaak de standaard is, dan wordt er gekeken naar de zweede taal en daar is het waarschijnlijk niet hetzelfde :)

In het MySQL developer exam boek wordt dit onderdeel zeer uitgebreid en goed onderbouwt behandeld overigens, zeker een aanrader.

ISBN10: 0672328127
ISBN13: 9780672328121

Vincent Huisman op 03/08/2011 22:59:27:
pas goede foutafhandeling toe en denk om sql injection


Goed dat je hem daar op wijst, alleen best wel een misser dat je daarna helemaal niet in gaat op de context van de vraag.
Gewijzigd op 04/08/2011 00:09:44 door kees Schepers
 
Dennis meijer

dennis meijer

04/08/2011 22:33:16
Quote Anchor link
Beste,

Dit is een voorbeeld regeltje die ik zomaar even heb getyped wat veel op die van mij lijkt.

Hier zit de foutafhandeling niet in maar die heb ik wel.

Is er misschien ook een andere oplossing voor dit probleem via een query of moet ik perse de database veranderen?
 
Ozzie PHP

Ozzie PHP

04/08/2011 23:41:00
Quote Anchor link
Moet de gebruiker de naam van de stad (München) zelf intypen? Of selecteert hij die uit een (drop-down) menu?
 
Kees Schepers

kees Schepers

05/08/2011 09:50:06
Quote Anchor link
Dennis meijer op 04/08/2011 22:33:16:
Beste,

Dit is een voorbeeld regeltje die ik zomaar even heb getyped wat veel op die van mij lijkt.

Hier zit de foutafhandeling niet in maar die heb ik wel.

Is er misschien ook een andere oplossing voor dit probleem via een query of moet ik perse de database veranderen?


Het heeft alles te maken met collaties, er zijn vast meerdere oplossingen maar zou vooral naar collaties studie doen :)
 
Dennis meijer

dennis meijer

05/08/2011 15:40:04
Quote Anchor link
@Ozzie, de gebruiker meot zelf een zoekwoord intypen. Kan ook "Mun" zijn of "chen"

@Kees, weet je toevallig ook een goede tutorial op internet hiervoor?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.