webForumDet fria alternativet

Vad är fel med denna sql-fråga?

Databaser & SQL

2 svar · 288 visningar · startad av pennypacker

Medlem sedan mars 200291 inlägg
Frågan#1

Hjälp, jag har suttit och stirrat mig blind på en sql-fråga som jag inte får att fungera.

Jag vill hämta ut alla titlar som börjar på siffrorna 0-9 i en viss kategori. Problemet är att jag får ut alla filmer med titel 0-9 oavsett kategori. Variabeln $kat har rätt värde det har jag kollat.

Så här ser koden ut:

$sqlstatement="SELECT BILD, VNAMN, PRIS, ARTNR FROM DVD WHERE VNAMN LIKE '0%' OR VNAMN LIKE '1%' OR VNAMN LIKE '2%' OR VNAMN LIKE '3%' OR VNAMN LIKE '4%' OR VNAMN LIKE '5%' OR VNAMN LIKE '6%' OR VNAMN LIKE '7%' OR VNAMN LIKE '8%' OR VNAMN LIKE '9%' AND KATNAMN = '$kat' ORDER BY VNAMN ASC";

Har en liknande sql-fråga som jag dock får att fungera, den ser ut såhär:

$sqlstatement="SELECT BILD, VNAMN, PRIS, ARTNR FROM DVD WHERE VNAMN LIKE '$str%' AND KATNAMN = '$kat' ORDER BY VNAMN ASC";

Nån som ser vad som är fel med den översta sql-frågan?

Medlem sedan juni 200032 967 inlägg
#2

And binder ihop med bara de som börjar på 9, såsom du har skrivit frågan. Sätt en parentes runt dina or-villkor:

$sqlstatement="SELECT BILD, VNAMN, PRIS, ARTNR FROM DVD WHERE (VNAMN LIKE '0%' OR VNAMN LIKE '1%' OR VNAMN LIKE '2%' OR VNAMN LIKE '3%' OR VNAMN LIKE '4%' OR VNAMN LIKE '5%' OR VNAMN LIKE '6%' OR VNAMN LIKE '7%' OR VNAMN LIKE '8%' OR VNAMN LIKE '9%') AND KATNAMN = '$kat' ORDER BY VNAMN ASC";

Mvh,

Medlem sedan mars 200291 inlägg
#3

Såklart!! Tusen tack @nders!!
=o)

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