Aller au contenu

Initialiser une constante depuis MySql


Sujets conseillés

Posté

Bonjour

Je reprend un code, trouvé sur le Web, qui dit :


define('TIP_ADMIN_LOGIN','aaaaa');
define('TIP_ADMIN_PWD','bbbbb');

Je veux externaliser les valeurs de ces variables (il y en a dautres) dans une table MySql, ce que jai fait.

Mon problème : je narrive pas à initialiser ces deux constantes avec les valeurs que je lis dans la table.

Jai essayé :


define('TIP_ADMIN_LOGIN','.$myrow[4].');
define('TIP_ADMIN_PWD','.$myrow[5].');

mais ça ne fonctionne pas.

Jaimerai éviter de remplacer ces constantes par des variables car je ne sais pas pourquoi lauteur du code en a fait des constantes.

Merci par avance de votre aide.

Francois

Posté

Bonjour,

Tu ne peux pas utiliser une variable pour définir une constante. Ce n'est pas possible.

Voir http://be2.php.net/manual/fr/function.define.php ("La valeur de la constante ; seuls les scalaires et les valeurs NULL sont autorisées. Les valeurs scalaires sont les valeurs entier, nombre décimal, chaîne de caractères ou booléen.")

Jean-Luc

Posté

Bonjour,

A priori, tu devrais plutot faire :

define('TIP_ADMIN_LOGIN', $myrow[4] );

define('TIP_ADMIN_PWD', $myrow[5]);

Nicolas.

Posté

+1 avec Nicolas, je ne sais pas d'où tu sortais le '.$machin.'...

Evidemment, il se pose le problème que ta requête SQL doit être exécutée avant que la constante soit définie, ce qui, suivant la structure du code, n'est pas forcément évident...

Jacques.

Posté

Merci de vos réponses.

Oui, anonymous, j'avais mis en trop des . et des '.

Ca marche comme tu l'as écrit; j'ai placé des echos juste après ce code qui me montre bien les valeurs lues dans la table et attribuées aux constantes.

Merci encore de votre aide à tous.

Francois

Veuillez vous connecter pour commenter

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



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