echo $begrüßung;
Da stimme ich dir zu. Mir persönlich gefällt daran nicht, dass sowohl auf dem Hinweg als auch auf dem Rückweg einzelne Variablen an das $stmt (also das was mysqli_prepare() zurückliefert) gebunden werden müssen. Man kann nicht einfach ein Array mit Werten hingeben,[...]
Da wäre es selbst bequemer, wenn man einen Blockbuffer mit den Werten mittels pack() vorbereiten müsste. Im Prinzip macht die Schnittstelle ja bei prepared Statements oswas ähnliches, denn die Typen will sie ja haben.
str_repeat('s', count($params)) für den types-Parameter tut es auch. MySQL nimmt es ja nicht übel, wenn man Zahlen als String übergibt, auch bei P.S. nicht. Auch für NULL braucht es keine Spezialbehandlung. Es gibt keinen speziellen Typ-Buchstaben. Wenn die Variable ein PHP-NULL enthält, landet ein DB-NULL im Feld.
Ich sehe noch nicht die Vorteile gegenüber der Interpreter-Version, also der "normalen" Textschnittstelle. Ist das Arbeiten mit prapared Statements performanter auf der Datenbankseite?
Es ist einfach bequemer, ein Statement mit Platzhaltern zu notieren und dann dieses zusammen mit einem Array voll Daten an eine Funktion zu geben, die sich um das Datenbankhandling kümmert. Kein Zusammensetzen des Statements aus mehreren Teilstrings, kein Maskieren und Escapen von Werten. Über Performance mach ich mir keine Gedanken, solange sich eine Anwendung performant anfühlt. Ich muss kein in Massen anstürmendes Publikum bedienen.
echo "$verabschiedung $name";