Ich hab den entscheidenden Fehler gefunden, nachdem Maumau mir den kompletten Code gegeben hat. Es lag überhaupt nicht am eval() sondern an folgendem if:Es wurde immer echo $selected_page; ausgeführt werden, da ein String in PHP immer == 0 ist und Daten die man per mysql_* abruft immer Strings sind, unabhängig davon welchen Typ sie in der MySQL-Datenbank besitzen. Lösung ist einfach $php typ-sicher mit === "0" zu vergleichen. Also im Endeffekt:Alternativ müsste man auch $php am Anfang zu int casten können und dann mit == 0 vergleichen, hab ich jetzt nicht ausprobiert. Das wäre dann vorher einfach $php = (int)$ds->php;