AntiStatic Posté 25 Avril 2006 Posté 25 Avril 2006 Salut à tous, je suis confronté à un probleme pour lequel quelqu'un aurait je l'espère une solution : je souhaite stocker dans ma base donnée MySQL des variables PHP du type $nom_de_la_variable ! Le but est de pouvoir sortir des requetes SQL à la volée pour ne pas avoir a les coder dans les pages PHP mais pour qu'elles sortent directement de la base, que je renseigne via mon backoffice. Par exemple j'ai un champs "request" dans le quel je voudrais mettre un bout de requete du style : SELECT * FROM table WHERE nom_prod = $recherche Le probleme est que forcement, lorsque je recupère cette requete pour l'executer dans une page PHP, la requete est considéré comme une string et du coup le $recherche n'est pas une variable mais un simple texte ! Quelqu'un aurait-il donc une idée pour pouvoir faire ceci ? Merci pour votre aide !
TheRec Posté 25 Avril 2006 Posté 25 Avril 2006 Bonjour, tu peux toujours utiliser la fonction eval. Mais cela comprends des risque de stocker du code PHP dans uen base de données... imagine que quelqu'un arrive à y insérer un code révélant toutes les variables que tu as déclarées dans ton script...entre autre les information d'accès à la base de données
xpatval Posté 25 Avril 2006 Posté 25 Avril 2006 A titre d'infos, comment codes-tu ta création de requêtes à la volée ? Car si cela t'oblige à créer une requête simplifiée, afin d'aller chercher les champs "variables" pour finaliser la requête réelle, ce n'est pas très optimisé. Autant utiliser une classe pour cela. xpatval
AntiStatic Posté 25 Avril 2006 Auteur Posté 25 Avril 2006 Yes nikel la fonction eval fonctionne à merveille ! Merci TheRec T'en fait pas je ne stocke pas des variable importante, c'est juste pour pouvoir simplifer la gestion de mes pages qui sont toute sur la meme structure et dont simplement quelques parametres de requetes SQL changent de tps en tps. Pour ta question xpatval, je ne stocke en fait que des morceaux de requetes et il faut impérativement que cela soit dans la base et pas dans une class car le tout est gérer par CMS de ma création, donc pasmoyen d'utiliser de class de serait trop lourd à gérer je pense ... Merci pour votre aide !!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant