Moin MH,
zwei Fragen zu deinen SQL-Statements:
$query = sprintf( "SELECT * FROM `namen` WHERE `klasse` = '%s'", $mysqli->real_escape_string($_GET['klasse']) ); $abf = $mysqli->query($query);
Hat es einen besonderen Grund, warum du hier auf prepare und bind verzichtest?
$data = sprintf( "SELECT `Anrede`, `Titel`, `Name` FROM `Lehrer` ORDER BY `Name` ASC" );
Wofür brauchst du hier sprintf?
Viele Grüße
Robert