Und wie kommt das? Weil du jegliche Fehlerüberprüfung weglässt und dich blind darauf verlässt, dass alle Methodenaufrufe erfolgreich sind.
Oder weil unser OP erwartet hat, dass PHP Fehlermeldungen an sinnvollen Stellen produziert. Der Fehler beim bind_param
ist ja nur ein Folgefehler, weil das prepare
zuvor nicht geklappt hat. Da haben wir den Silent Failure von letzer Woche wieder. Und wieder eine Buchung auf das technische Schuldenkonto von PHP.
Abgesehen davon: Warum kopierst du die Werte aus $_POST[] erst um, bevor du sie verwendest? Das ist nicht nur unnötig, sondern manchmal auch tückisch, weil man damit die Herkunft verschleiert.
Das mit der Herkunft der Daten spielt selten eine Rolle. Ungefilterte Nutzereingaben können zwar zu SQL-Injections führen, aber das löst man indem man die Daten entsprechend ihres Zielkontextes behandelt. Das sollte man immer machen, nicht nur bei Benutzereingaben.
Das Umkopieren ist reine Geschmackssache. Spätestens wenn ich ein zweites mal auf den selben Eintrag eines Arrays zugreifen muss, lege ich mir dafür gewöhnlich eine Variable an, so vermeide ich es mich selbst zu widerholen. Speichertechnisch spricht auch wenig dagegen, da PHP die Daten nicht wirklich kopiert, bis man sie verändert.