Du solltest Dir mal angewöhnen, nicht so "SMS" zu schreiben, sondern richtige Sätze mit vollständigen Fehlermeldungen.
Das Problem bei eval() ist, dass es bereits PHP Code erwartet (also nicht die Tags <?php davor und ?> dahinter), sondern einfach nur die Statements. Es gibt einen genialen Trick, wie man eval() dazu bringt, aus diesem sog. "Interpretermodus" in den Textmodus zu schalten, so wie es bei normalen Scripts am Anfang der Fall ist. Dort werden ja normale Textzeilen (u.a. auch HTML) einfach durchgereicht und erst wenn <?php auftaucht, schaltet PHP in den Interpretermodus. Wenn dann ?> auftaucht, wird wieder in Textmodus geschaltet usw.
Der Trick besteht nun darin, dass man einfach dem eigenen Code ein '?>' voranstellt, um so zu erzwingen, dass PHP im Textmodus beginnt. Das ist sehr einfach:
- Code: Select all
<?php
... // hier steht Dein MySQL um den Code zu ermitteln, nehmen wir an, er steht in der Variablen $code;
... // Nun nicht einfach eval($code) schreiben, sondern erst das '?>' voranstellen:
eval('?>'.$code);
...
?>
Du wirst sehen, nun funktioniert es.