Hej!
OR och AND har olika inbördes ordningar med olika prioritet. Du får lägga till lite paranteser skulle jag tro.
Mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
Databaser & SQLur Databashanterare & SQL
3 svar · 188 visningar · startad av FlashX
Är lite förbryllad över hur OR fungerar.
Skiljer det sig i sättet att använda än AND?
Har jag flera OR efter varandra så blir det förvisso inga fel men svaret som genereras stämmer inte med det som borde genereras.
Jag använder OR i en sorteringsfunktion och varje OR går till en ny kolumn och det verkar bara vara den sist angivna som skickar tillbaka rätt svar (dom andra lopar svaret flera ggr.).
Exempel:
$results = mysql_query("SELECT *
FROM id_bildbank, id_category, id_products, id_designers, bildbank
WHERE bildbank_id='$bildtyp'
OR category_id='$produktfamilj'
OR products_id='$produktnamn'
OR designers_id='$designer'
AND bildbank.designers_id=id_designers.ID
AND bildbank.category_id=id_category.ID
AND bildbank.products_id=id_products.ID
AND bildbank.bildbank_id=id_bildbank.ID", DB);
fungerar tillfredsställande så länge det innehåller en OR eller om jag väljer att sortera från $designer (ligger ju sist) men jag vill kunna sortera från andra kolumner i tabellen.
Är det så att man måste fixa en ny select för varje eller har jag fel syntax helt enkelt?
Hej!
OR och AND har olika inbördes ordningar med olika prioritet. Du får lägga till lite paranteser skulle jag tro.
Mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
Prexis! Det känns som att det borde se ut så här:
$results = mysql_query("SELECT *
FROM id_bildbank, id_category, id_products, id_designers, bildbank
WHERE (bildbank_id='$bildtyp'
OR category_id='$produktfamilj'
OR products_id='$produktnamn'
OR designers_id='$designer' )
AND bildbank.designers_id=id_designers.ID
AND bildbank.category_id=id_category.ID
AND bildbank.products_id=id_products.ID
AND bildbank.bildbank_id=id_bildbank.ID", DB);
Mvh,
------------------
All your base are belong to me.
Visst ska det vara så :)