Hey allen,
Ik heb een eenvoudig forum geschreven. Dat forum draait op twee verschillende servers, en op een van de twee servers treedt een vreemd probleem op.
Ik heb een zoekfunctie gemaakt die de inhoud van alle posts doorzoekt op de aanwezigheid van een zoek-string. Om te voorkomen dat ik lower/uppercase voorkomens van de zoekstring mis, zoek ik de lowercased zoekstring in LOWER(inhoud_post).
Op de ene server werkt dit als een tierelier, op de andere lijkt de LOWER-functie in MySQL niets te doen. Als ik LOWER(inhoud_post) AS low_content opvraag en weergeef, staan er nog Uppercase letters tussen. Toch doet de functie wel iets: als ik
weergeef dan is het resultaat:
Server 1 (LOWER werkt goed)
PHP Version 5.0.4
MySQL 4.1.16
Server 2 (LOWER werkt niet goed)
PHP 5.1.4
MySQL 5.1.9
Op fora kom ik wel tegen dat de LOWER en UPPER functie soms niet goed werken, maar dat is dan juist in oudere MySQL-versies. "In MySQL 5 zal het opgelost zijn", schrijven ze daar hoopvol. Terwijl ik het probleem juist alleen mat MySQL 5 heb.
Ikniesnapnie
Is dit een bekend probleem? Of schrijf ik gewoon crappy code?
Ik heb een eenvoudig forum geschreven. Dat forum draait op twee verschillende servers, en op een van de twee servers treedt een vreemd probleem op.
Ik heb een zoekfunctie gemaakt die de inhoud van alle posts doorzoekt op de aanwezigheid van een zoek-string. Om te voorkomen dat ik lower/uppercase voorkomens van de zoekstring mis, zoek ik de lowercased zoekstring in LOWER(inhoud_post).
code:
1
2
3
| SELECT id_post FROM e_posts WHERE LOWER(inhoud_post) LIKE '%zoekterm%' |
Op de ene server werkt dit als een tierelier, op de andere lijkt de LOWER-functie in MySQL niets te doen. Als ik LOWER(inhoud_post) AS low_content opvraag en weergeef, staan er nog Uppercase letters tussen. Toch doet de functie wel iets: als ik
code:
1
| LOWER('DiT Is EeN StRiNG VoL MeT HooFdLeTtERs') |
weergeef dan is het resultaat:
code:
1
| dit is een string vol met hoofdletters |
Server 1 (LOWER werkt goed)
PHP Version 5.0.4
MySQL 4.1.16
Server 2 (LOWER werkt niet goed)
PHP 5.1.4
MySQL 5.1.9
Op fora kom ik wel tegen dat de LOWER en UPPER functie soms niet goed werken, maar dat is dan juist in oudere MySQL-versies. "In MySQL 5 zal het opgelost zijn", schrijven ze daar hoopvol. Terwijl ik het probleem juist alleen mat MySQL 5 heb.
Ikniesnapnie