webForumDet fria alternativet
Logga in / Bli medlem

problem med like

PHP

5 svar · 550 visningar · startad av noshornin

Medlem sedan aug. 2008815 inlägg
Frågan#1

Jag har haft problem med LIKE

$sql = "SELECT id, rubrik, inlagg, date, tags FROM inlagg WHERE tags LIKE ? ORDER BY ID desc";
	
if ($stmt = $mysqli->prepare($sql)) 
{
$stmt->bind_param("s", $tag);
$tag = "%".$_GET['tag']."%";
$stmt->execute();

Problemet är att om $_GET['tag'] innehåller åäö så funkar det inte. Databasen har charset=utf8_general_ci likaså har php dokumentet.

Gå in på sidan i min signatur och klicka på en tag med äåö i sig så kan du se själv!

Vet någon vad det beror på?

Medlem sedan aug. 20068 090 inlägg
#2

Har du sparat ner dokumentet som utf-8 då?

Medlem sedan aug. 2008815 inlägg
#3

Jag sade fel. Jag har charset=iso-8859-1 i php dokumentet. Jag ändrade Kollationeringen i databasen till latin1_swedish_ci nu, men det funkar fortfarande inte. Vad menar du med sparat ner?

Medlem sedan aug. 2008815 inlägg
#4

alla ä'n blir ä.

Medlem sedan aug. 2008815 inlägg
#5

Efter flera timmar av huvudvärk och sökande kom jag på en lösning: urldecode().

Detta hade ingenting med sql att göra, en moderator kanske borde flytta tråden till php avdelningen istället.

Medlem sedan juni 200032 967 inlägg
#6

Flyttas från sql.

254 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)