echo $begrüßung;
[1] Ich frage mich nur, warum Du nummerische Werte als String verpackst und so die Datenbank erst mal zu einem Typecast zwingst.
Es ist doch komplett egal, ob du "...'42'..." oder "...42..." in einem SQL-Statement-_String_ drinstehen hast.ja, aber es ist nicht egal, ob das SQL-_Statement_, welches sich in dem String befindet,
...'42'...
oder
...42...lautet. Im ersten Fall muss die Datenbank noch _nach_ der Kompilierung des Statements feststellen, dass die beiden Vergleichswerte unterschiedliche Typen besitzen, und daraufhin einen davon konvertieren.
Ich verstehe immer noch nicht, wo der Unterschied zwischen einem Typecast zum Zeitpunkt der Kompilierung oder einem zu einem späteren Zeitpunkt liegen soll.
Ob dies nun gleich beim Statement-Parsen passiert oder erst zur Auswertung des Wertes ist gehüpft wie gesprungen.
Ob das einmalig passiert oder potenziell millionenfach[1], halte ich für nicht ganz so egal. Darüber hinaus ist ein nummerisch gemeinter(!) Wert in Quotes *immer* ein Zeichen dafür, dass der Autor des Statements nicht genug über das, was er da schreibt, nachgedacht hat, und schon allein deswegen kritikwürdig.
Es ist außerdem nicht unwahrscheinlich, dass das Typecasting gleich beim Kompilieren erfolgen kann, spätestens beim Optimieren. Denn dann sollten alle Informationen zum Typ der Operanden vorliegen. Ein Datums- und/oder Zeit-Wert liegt ja auch in String-Form notiert vor. Meinst du ein solcher Wert wird "millionenfach" umgewandelt?
[1] Oder gar nicht, weil das DBMS die Werte als unvergleichbar ablehnt und den Versuch mit einer Exception quittiert.
Red dich mal nicht raus, darum geht es doch gar nicht. Außerdem wäre wohl auch ein Typecast zwischen ihnen nicht möglich, wenn die Daten nicht vergleichbar wären.
echo "$verabschiedung $name";