Gunnar Bittersmann: PHP syntax error unexpected double-quoted string

Beitrag lesen

@@Robert B.

geht auch einfacher und mutmaßlich performanter, da die Einzelteile direkt in die Ausgabe geschrieben und nicht erst konkateniert werden müssen:

echo "user: ", $row["user"], " - score: ", $row["score"],
    " ", $row["timestamp"], "<br>";

Anstatt Konkatenation bietet sich ein Templatestring an:

printf(
  "user: %1\$s – score: %2\$s %3\$s<br>",
  $row["user"], $row["score"], $row["timestamp"]
);

Oder doch nicht, siehe unten.

Was fehlt: die kontextgerechte Behandlung der SQL-Rückgabe für HTML – verwende htmlspecialchars.

Yep:

printf(
  "user: %1\$s – score: %2\$s %3\$s<br>",
  htmlspecialchars($row["user"]),
  htmlspecialchars($row["score"]),
  htmlspecialchars($row["timestamp"])
);

Was noch fehlt: sinnvolles Markup anstatt <br>. Das sollte wohl eine Liste <ul>/<ol> mit Listitems <li> sein.

Und überhaupt würde eine vernünftige Syntax das ganze Rumgemache mit Konkatenation erübrigen.

🖖 Живіть довго і процвітайте

--
„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“
— @Grantscheam auf Twitter