$eintrag = "INSERT INTO mitarbeiter (vorname, familienname, alter) VALUES ('.$vor.', '.$fam'., '.$age.')";
Das ist Schrott. Wenn schon:
$eintrag = "INSERT INTO mitarbeiter (vorname, familienname, alter) VALUES ('".$vor."', '".$fam'.", '".$age."')";
Diese Variante wird genommen, wenn die Variablen Elemente von Arrays oder Hashes sind. Innerhalb von "" werden diese nicht ausgewertet.
Beispiel:
$eintrag = "INSERT INTO mitarbeiter (vorname, familienname, alter) VALUES ('".$_POST['vor']."', '".$_POST['fam']."', '".$_POST['$age']."')";
Die andere Variante ist syntaktisch einfacher, geht aber nicht mit Arrays, Hashes:
$eintrag = "INSERT INTO mitarbeiter (vorname, familienname, alter) VALUES ('$vor', '$fam', '$age')";
Das funktioniert auch, die einfachen Quotas werden nicht ausgewertet.
Es gibt noch eine dritte:
$eintrag = "INSERT INTO mitarbeiter (vorname, familienname, alter) VALUES ("$vor", "$fam", "$age")";
Und noch eine vierte, fünfte...
Die Aussagen von TomIRL und Cheatah stimmen auch. Der eine macht es Dir einfacher, der andere sagt: lass es Dir ausgeben und schau Dir den SQL- String an, ob er korrekt ist. Wenn der passt, war Deine Methode richtig.