echo $begrüßung;
Und das schreibst du dann (nach weiterem Escapen gegen SQL-Injektionen, s.o.) in die Datenbank - das würde funktionieren.
Ich such schon die ganze Nacht nach einer möglichkeit, das zu tun was du hier vorschlägst,
hab schon recht viel gefunden aber kann es nicht auf mein Script anpassen, kannst du mir helfen?
Du solltest öfter die anderen Probleme hier im Forum lesen und die Antworten darauf. Solche Probleme werden hier regelmäßig behandelt. Der Grundsatz lautet: Wann immer Werte in einen bestimmten Kontext gebracht werden, so sind diese für diesen (und nur für diesen) Kontext zu behandeln. PHP stellt dafür bereits Funktionen zur Verfügung: Fügst du Werte in ein MySQL-Statement ein, ist es mysql_real_escape_string(). Fügst du Werte in HTML ein, ist es htmlspecialchars() (htmlentities() vs. htmlspecialchars()). Fügst du Werte in eine URL ein, ist es für den Querystring urlencode(), ansonsten rawurlencode(). Fügt man eine bereits behandelte URL in einen HTML-Kontext ein, so ist diese auch noch mal gemäß HTML-Kontext zu behandeln. Fügt man Werte in einen Javascript-Code ein ... usw. usf.
Egal was ich mach, <> krieg ich einfach nicht maskiert.
Um welche <> geht es denn? Diese beiden Zeichen sind im MySQL-Kontext völlig harmlos. Dafür müssen sie nicht behandelt werden. Sie müssen erst dann behandelt werden, wenn sie in einen Kontext eingefügt werden sollen, der sie als Sonderzeichen ansieht, HTML beispielsweise.
echo "$verabschiedung $name";