Rolf B: Ressourcenschonende Bestenliste mit Platzierungseinträgen

Beitrag lesen

Hallo Andi,

wie offenbar 90% der PHP Bastler hältst Du nichts von Fehlerabfragen.

$result = mysqli_query($con, $sql);

if ($result === false) {
   // query ging schief
   echo "query failed: " . mysqli_error($con) . "\n";
}

while($row = mysqli_fetch_assoc($result)) {
	echo $row["Rang"] . " " . $row["name"] . " " . $row["punkte"];
}

Statt einem echo loggt man das normalerweise und zeigt dem User nur, dass ein SQL Fehler passiert ist.

Aber ich habe bereits zwei Vermutungen. Äh nein, eine Gewissheit und eine Vermutung.

Dir fällt sicherlich auf, dass die Query aus zwei geschachtelten SELECTs besteht. Der äußere verwendet den inneren als Datenquelle. Im äußeren SELECT fragst Du nach einer ID. Die liefert der innere aber nicht. Demnach wird gewiss die Meldung kommen, dass er diese Spalte nicht kennt.

Und dann frage ich mich, was Du mit $myId in deiner SQL Variablen gemacht hast. Das war ein Platzhalter für die ID deines Users. Hast Du das an deine Codeverhältnisse angepasst?

Rolf

--
sumpsi - posui - obstruxi