PHP -> Hibás sql parancs?
$sqlCmd = "SELECT A,B,C,D FROM db.table WHERE X='8' OR X='32' OR X='64' AND AAA>='$E' AND BBB='0' ORDER BY TTT DESC";
Hogyan kellene ezt helyesen átírni?
Célom:
Válassza ki az A,B,C,D oszlopot db.table-ben OTT ahol az X oszlop értéke 8 VAGY 32 VAGY 64 ÉS AAA nagyobb, vagy egyenlő, mint $E ÉS BBB oszlop értéke 0(nulla) és TTT szerint rendezés.
Megjegyzés:
Így most olyan, mintha csak OR X='64' ig dolgozna, megjeleníti azokat ahol 8 32 vagy 64, de rá se bagózik arra, hogy AAA>='$E' és BBB='0' legyen.
Ha nem teszed zárójelbe a vagy-ozott sorokat, akkor úgy veszi mintha
X=8
vagy
X=32
vagy
X=64 és aaa>=$e és bbb=0
tehát x=8 önmagában és
X=32 önmagában is elég a feltétel teljesüléséhez, ott és feltételt már nem vizsgál.
Értem, tehát:
$sqlCmd = "SELECT A,B,C,D FROM db.table WHERE (X='8' OR X='32' OR X='64') AND AAA>='$E' AND BBB='0' ORDER BY TTT DESC";
?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!