echo $begrüßung;
Die Lösung des Problems war dann aber im Grunde recht simpel: Bei der Abfrage von zwei Variablen musste ich diese in Anführungszeichen setzen, also:
$abfrage = "SELECT * FROM Archiv WHERE Monat = '$monat' AND Jahr = '$jahr'";
Das war alles, jetzt tut es. ;)
Ja, aber nur solange in den Variablen kein ' enthalten ist. Das ergibt dann die SQL-Injection-Lücke. Wann immer du Werte in einen bestimmten Kontext bringst, musst du sie dem Kontext gemäß behandeln. Für MySQL-Statements gibt es mysql_real_escape_string(). Und mit sprintf() lässt sich das auch lesbar gestalten:
$abfrage = sprintf("SELECT * FROM Archiv WHERE Monat = '%s' AND Jahr = '%s'",
mysql_real_escape_string($monat), mysql_real_escape_string($jahr));
Außerdem gibt es noch ein PHP-Feature names Magic Quotes, dass genau diese Aufgabe erfüllen soll, aber auch unerwünschte Nebenwirkungen hat. Falls sie aktiviert sind, solltest du nun die Magic Quotes deaktivieren.
echo "$verabschiedung $name";