Vet iofs inte vad LIMIT gör för något; är det samma som TOP?
SELECT TOP 10
check.*,
krog.*
FROM
check
INNER JOIN
krog
ON
check.krog = krog.namn
WHERE
NOW() BETWEEN check.frm AND check.till
ORDER BY
krog.gata
Databaser & SQLur Databashanterare & SQL
6 svar · 215 visningar · startad av Gaski
Har två olika tabeller, krog och check.
krog innehåller info om krogar som kan ha flera checkar.
Jag ska matcha krog.namn och check.krog när jag tar ut alla värden ur check. Dvs jag vill ha lite värden ifrån krog som t.ex. telefonnr, webadress osv... när jag tar ut alla checkar.
Har testar med följande men det fungerar inte så bra...
SELECT * FROM check INNER JOIN krog ON check.krog = krog.namn WHERE NOW() BETWEEN check.frm AND check.till ORDER BY krog.gata LIMIT 0,10
Vet iofs inte vad LIMIT gör för något; är det samma som TOP?
SELECT TOP 10
check.*,
krog.*
FROM
check
INNER JOIN
krog
ON
check.krog = krog.namn
WHERE
NOW() BETWEEN check.frm AND check.till
ORDER BY
krog.gata
Kör det med PHP och får följande svar:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/k/krogkort/www/vardecheckar.php on line 112
Vilket brukar betyda att den inte returnerar någonting...
Men jag har kollat i databasen och där ser allting rätt ut. Men om koden ovan (utan top och limit istället) ska fungera så får jag kolla igen....
Det brukar väl betyda att det är något fel i selectsatsen.
Lägg till en felkontroll.
$sql = "SELECT * FROM check INNER JOIN krog " .
" ON check.krog = krog.namn " .
"WHERE NOW() BETWEEN check.frm AND check.till " .
" ORDER BY krog.gata LIMIT 0,10";
$result = mysql_query($sql) or die(mysql_error());
Får:
You have an error in your SQL syntax near 'INNER JOIN krog ON check.krog = krogar.namn WHERE NOW() BETWEEN check.frm AND ch' at line 1
På:
SELECT check.*, krogar.* FROM INNER JOIN krogar ON check.krog = krogar.namn WHERE NOW() BETWEEN check.frm AND check.till ORDER BY krogar.".$sortby." LIMIT ".$counter.",".$antalpersida