MySQL Query med tomma variabler

Databaser & SQL

2 svar · 337 visningar · startad av LiLLEN

Medlem sedan feb. 20038 inlägg
Trådstart#1

Jag har problem med att hämta rader från en mysql-tabell med ett eller flera sökkriterier.

Har testat med den här raden:

$sql = "SELECT * FROM `poker_results` WHERE  userName = '$curUser' AND siteName = '$site' AND game = '$game' AND gameType = '$gametype' ORDER BY date ASC";

Det funkar bra om alla variabler har nått värde, men inte om någon av dem är tomma.

Vad ska jag sätta för default värde på variablerna för att de "tomma" variablerna ska fungera som wildcards?

Medlem sedan juni 200032 967 inlägg
#2

Generellt sett så tycker jag att du inte borde ha med dem i SQL-frågan om de inte skall tas med i urvalskriterierna, men du skulle kunna använda LIKE.

$sql = "SELECT * FROM tabell WHERE  fält LIKE '%$curUser%'";
Medlem sedan feb. 20038 inlägg
#3

Tack.

Det där verkar funka som jag ville.

Anledningen till att jag ville ha med variablerna i sql-frågan, var att det verkade bli en hel del arbete med att bena ut hur många och vilka variabler som ska vara med i frågan (det var fler variabler än de jag tog upp i exemplet ovan).

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)