webForumDet fria alternativet

sökning efter siffror i databas?

Databaser & SQL

3 svar · 234 visningar · startad av aha

Medlem sedan okt. 200057 inlägg
Frågan#1
$result = mysql_query("SELECT * FROM tabell WHERE rad1 || rad2 LIKE '%$sokord%' ORDER BY rad1");

Varför funkar inte detta när det gäller siffror? då rad1 eller rad2 börjar på ett tal funkar inte ovanstående kod, varför? för bokstäver funkar det!

------------------
www.fyndtorg.nu

Medlem sedan dec. 200012 464 inlägg
#2

Vad menar du med inte fungerar? Fel resultat, felmeddelande eller?

|| betyder or i Mysql och inte konkatenering som i andra DBMS.

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 200057 inlägg
#3

ja, jag vet att || betyder or.

felet är att då någon av rad1 eller rad2 i tabellen börjar på en siffra visar den de resultaten med siffror oavsett vad man söker på..

------------------
www.fyndtorg.nu

Medlem sedan dec. 200012 464 inlägg
#4

Menar du att du vill hitta alla poster där antingen rad1 eller rad2 innehåller söksträngen?

$result = mysql_query("SELECT * FROM tabell WHERE rad1 LIKE '%$sokord%' 
or rad2 LIKE '%$sokord%' 
ORDER BY rad1");

Jag tycker att Mysql har en del kontextberoende tolking av värden.

------------------
essentitia preter non sans multiplicandum

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)