Tach!
Und wenn Dein MYSQL Mehrfachstatements zulässt, injiziert man Dir damit auch Code, der deine Tabellen leert oder DROPt.
Prinzipiell lässt MySQL das nur zu, wenn man eine entsprechende Option beim Verbindungsaufbau setzt. PHP hat das anders implementiert, da muss man explizit die multiquery-Funktionen nehmen. Aber auch ohne Multi-Query-Möglichkeit kann man eine Menge Unheil anrichten, wenn die Querys nicht ordentlich maskiert sind.
Übrigens, or die()
ist auch keine gescheite Fehlerbehandlung. Damit geht die Ausgabe kapuut, was meist nicht besonders hübsch aussieht. Die bessere Lösung fängt damit an, sich zu überlegen, ob man dem Anwender im Fehlerfall nicht eine Alternative bieten kann.
dedlfix.