Page 1 sur 1

exécuter du code PHP contenu dans du SQL

Posté : 04 févr. 2013, 12:56
par hanselmault
Bonjour

Plutot que de mettre des if-then-else dans ma page PHP (j'aurai une centaine de test à faire), j'aimerai mettre mon code PHP dans une bdd mysql. C'est tout à fait faisable, mais comment exécuter ce code stoqué dans SQL?
Exemple de mon code:
$recu=$_GET['race'];
if ($recu == "")
{ } else {
$retour = mysql_query("SELECT * FROM pages WHERE page='" . $recu . "'");
while ($donnees = mysql_fetch_array($retour) )
{
echo $donnees['corps'];
// exécuter le code contenu dans $donnees['code']
// ce code peut avoir par exemple "$bonjour=1; echo 'coucou le monde' . 'etc';"
}

Re: exécuter du code PHP contenu dans du SQL

Posté : 04 févr. 2013, 22:17
par niuxe
:shock:

Mais bon si tu veux vraiment avoir du code pour qu'ensuite tu l'utilises : eval(). Mais bon eval() est à éviter -> lourd et c'est une faille de sécurité. Je vois pas du tout l'intérêt (stocker ton code dans un fichier php ou un fichier mysql pour qu'ensuite tu le ressors ?)
donc : :shock: et :non:

Re: exécuter du code PHP contenu dans du SQL

Posté : 05 févr. 2013, 11:50
par hanselmault
Hé bien je liste pour l'utilisateur une partie de ce qui a été enregistré dans le SQL. Ensuite, un code est a exécuter en fonction de son choix, et ce n'est jamais le même code. Donc sur ma page plutot que de mettre des CASE multiplié par le nombre de ligne dans SQL (400 lignes pour le moment et ça augmente de jour en jour), je préfère avoir une colonne de plus dans mon sql et mettre le code correspondant là dedans. Je pourrais en effet le mettre dans ma page, mais faire 400 CASE rendra le tout limite illisible.

Re: exécuter du code PHP contenu dans du SQL

Posté : 05 févr. 2013, 13:46
par xTG
Regardes du côté des fonctions... C'est justement fait pour factoriser le code.