Aller au contenu

Passer des variables dans une base de donnée


Sujets conseillés

Posté

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 !

Posté

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 ;)

Posté

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

Posté

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 !!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...