Andi Reas: Ressourcenschonende Bestenliste mit Platzierungseinträgen

Beitrag lesen

Hallo -

Danke Rolf. Aber krieg das leider einfach nicht zum Laufen.

Okay, habe also eine Datenbank mit der Tabelle bestentabelle, dort habe ich die Spalten id, name und punkte. Mein sql query (Variable $sql) lautet wie folgt:

SELECT id, name, punkte, Rang
FROM (SELECT name, punkte, RANK() OVER(ORDER BY punkte DESC) AS Rang
      FROM bestentabelle) bestentabelle
WHERE Rang < 6 OR id = $myId
ORDER BY Rang
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_assoc($result)) {
	echo $row["Rang"] . " " . $row["name"] . " " . $row["punkte"];
}

...retourniert:

mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given

...habe nun überlegt, ob die Datenbank RANK() nicht unterstützt - laut Dokumentation unterstützt MariaDB RANK() aber seit Version 10.2.0. - laut phpmyadmin Dashboard fahre ich mit 10.4.16-MariaDB - also hier eigentlich alles gut.

Ideen?

Wirklich ECHT dankbar, wenn mir da jemand helfen kann!

Andi.