09. februar 2007 - 17:07Der er
8 kommentarer og 1 løsning
mySQL forespørgsel virker ikke på server
Hej,
På min lokale server har jeg skrevet nedenstående forespørgsel, der virker fint:
$result = mysql_query("SELECT id, question AS text, (SELECT SUM(votes) FROM polls_answers WHERE questions = (SELECT id FROM polls_questions WHERE starts <= now() AND ends >= now())) AS votes FROM polls_questions WHERE starts <= now() AND ends >= now() UNION SELECT id, answer AS text, votes FROM polls_answers WHERE questions = (SELECT id FROM polls_questions WHERE starts <= now() AND ends >= now())") or die(mysql_errno() . ": " . mysql_error());
Men putter jeg den på den online server, fejler den:
1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT SUM(votes) FROM polls_answers WHERE questions = (SELECT
Hvordan får jeg det til at virke igen? Helst så hurtigt som muligt, da jeg i forbifarten overskrev online-versionen uden backup.
Man kan jo "altid" lave flere forespørgsler, og somme erstatte det med en eller flere passende joins. Men det kan jeg ikke overskue fra hvad du skriver.
$result = mysql_query("SELECT a.id, a.question AS text, SUM(b.votes) AS votes FROM polls_questions AS a LEFT JOIN polls_answers AS b ON a.id = b.questions WHERE a.starts <= now() AND a.ends >= now() GROUP BY a.id UNION SELECT b.id, b.answer AS text, b.votes FROM polls_questions AS a LEFT JOIN polls_answers AS b ON a.id = b.questions WHERE a.starts <= now() AND a.ends >= now()") or die(mysql_errno() . ": " . mysql_error());
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.