Also ich persönlich halte den aufbau für wesentlich besser, als alles in eine zeile zu quetschen. Wenn man jetzt einen größeren sql-query, der mehrere joins, sortierungen, subqueries oder ähnliches hat, in eine zeile packt wird das total unübersichtlich:
Code:
$sql = 'SELECT
tabelle1.spalte1,
tabelle1.spalte2,
tabelle1.spalte3,
tabelle2.spalte1 AS t2_spalte1,
tabelle2.spalte2 AS t2_spalte2
COUNT(*) AS rows
FROM tabelle1 AS tabelle1
LEFT JOIN tabelle2 AS tabelle2 ON (tabelle2.spalte1 = tabelle1.spalte1)
RIGHT JOIN tabelle3 AS tabelle3 ON (tabelle3.spalte1 = tabelle2.spalte2)
WHERE
tabelle1.spalte3 > 5
AND tabelle2.spalte2 == "muh"
AND tabelle3.spalte1 <> NULL
GROUP BY
tabelle1.spalte3
ORDER BY
tabelle1.spalte1 ASC,
tabelle3.spalte1 DESC
LIMIT 0,10';
VS
Code:
$sql = 'SELECT tabelle1.spalte1, tabelle1.spalte2, tabelle1.spalte3, tabelle2.spalte1 AS t2_spalte1, tabelle2.spalte2 AS t2_spalte2 COUNT(*) AS rows FROM tabelle1 AS tabelle1 LEFT JOIN tabelle2 AS tabelle2 ON (tabelle2.spalte1 = tabelle1.spalte1) RIGHT JOIN tabelle3 AS tabelle3 ON (tabelle3.spalte1 = tabelle2.spalte2) WHERE tabelle1.spalte3 > 5 AND tabelle2.spalte2 == "muh" AND tabelle3.spalte1 <> NULL GROUP BY tabelle1.spalte3 ORDER BY tabelle1.spalte1 ASC, tabelle3.spalte1 DESC LIMIT 0,10';
Ansonsten wundert es mich, dass heatshock überhaupt irgendwas als ergebnis seiner abfrage bekommt, denn in seinem query ist ein ganz offensichtlicher syntax-fehler:
Code:
$sql = "SELECT
id,
username,
klick, <--- komma darf da nicht hin
FROM
login
ORDER BY
klick DESC;";
Das simikolon ist zwar aus performance-gründen schlecht, sollte aber eigentlich keine große auswirkungen in diesem query haben.
MySQL müsste hier nen error #1064 zurückgeben.