sökning efter siffror i databas?

Databaser & SQL

3 svar · 261 visningar · startad av aha

Medlem sedan okt. 200057 inlägg
Trådstart#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!

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.

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å..

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.

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)