Super, aber da hast du dir jetzt ins eigene Knie geschossen,
Wie im Posting geschrieben - ich habe nur den username escaped (einmal für SQL, einmal für URL), und ob das für die übrigen Elemente nötig ist hängt von ihrem Wertebereich ab.
Ich verstehe das Argument, stelle mich aber auf einen anderen Standpunkt. Programmieren erfordert enorme Konzentration, wir müssen ein mentales Modell der Problemstellung, des Lösungswegs und der Programmiersprache im Kopf halten, die Dinge irgendwie zusammenführen und in die Tasten hauen. Da bin ich froh über jede kognitive Einsparung, die es mir erlaubt mich auf das eigentliche Problem zu konzentrieren und administrative Banalitäten auszublenden. Kontextwechsel-Probleme, wie diese hier, birgen diesbezüglich ein gewisses Einsparungspotenzial. Ich kann mir natürlich bei jedem Kontextwechsel die Frage stellen, ob ein Datum nun eine kontextgerechte Behandlung braucht, oder ob der Wert durch eine glückliche Fügung unbehandelt weiter gereicht werden darf. Das selbe Problem kann ich aber auch im Autopilot lösen, indem ich diese Fragen ignoriere und jedes Datum stumpf immer entsprechend dem Kontext behandle. Die erste Variante raubt mir unnötige Konzentration und ist auch noch fehleranfälliger, da ich auch immer den falschen Schluss ziehen kann, dass ein Datum nun nicht maskiert werden müsse. Die zweite Variante erlaubt mir in Gedanken bei meinem eigentlichen Problem zu bleiben während meine Finger die mechanische Arbeit erledigen.