php code aus datenbank?

php code aus datenbank?

am 03.08.2006 06:56:04 von JonSchmidt

Hallo Leute

irgendwie habe ich Brett vorm Kopf. Ich lese in einer Funktion aus
einer MySQL Tabelle einen Code aus, der auch php Code enthält. Dieser
Code soll dann in der Seite eingebaut werden. Nur leider schreibt mir
die Funktion den Code als html Code hin, php parst ihn also nicht:

Die Funktion:

function formtype($entry,$showClass,$answer)
{
$getRes =3D mysql_query("SELECT type FROM types WHERE id =3D $entry");
while($row =3D mysql_fetch_row($getRes)) { $aType =3D $row[0]; }
}
echo"$aType";
}

Der Inhalt der Tabelle:



Der Aufruf im Code:

Typ:


Wenn ich den entsprechenden Code innerhalb der Funktion so hinschreibe,
wie er in der Tabelle steht, in ein echo"" gepacht, macht die Funktion
alles richtig. Also hängt das irgendwie mit dem Auslesen zusammen.
Was mache ich verkehrt? Bin für jede Hilfe dankbar :)

MfG Jon

Re: php code aus datenbank?

am 03.08.2006 08:42:48 von Tobias Kutzler

jonschmidt@gmx.de schrieb:
> Hallo Leute
>
> irgendwie habe ich Brett vorm Kopf. Ich lese in einer Funktion aus
> einer MySQL Tabelle einen Code aus, der auch php Code enthält. Dieser
> Code soll dann in der Seite eingebaut werden. Nur leider schreibt mir
> die Funktion den Code als html Code hin, php parst ihn also nicht:

Das liegt daran, dass der Code innerhalb des Strings, der aus der
Datenbank kommt, nicht interpretiert wird. Um diesen Code trotzdem
auszuführen, kann eval() benutzt werden.

> Die Funktion:
>
> function formtype($entry,$showClass,$answer)
> {
> $getRes = mysql_query("SELECT type FROM types WHERE id = $entry");
> while($row = mysql_fetch_row($getRes)) { $aType = $row[0]; }
> }
> echo"$aType";

hier dann eval($aType);

But don't forget eval() ist evil ;-) Ganz wichtig; folgendes lesen:

7.9. Wie kann ich einen String als PHP-Code ausführen?
http://www.php-faq.de/q/q-string-ausfuehren.html

Ciao,
Tobias