PHP define () ne semble pas fonctionner avec include ()
J'ai essayé ma main à l'OO en PHP, et actuellement trois fichiers. J'ai un class_lib.php qui, pour le moment, juste un databaseServer de classe, une index.php fichier et un definitions.php fichier. Je veux mettre toutes mes sensibles de la base de données info dans le fichier de définitions. Cependant, quand je le fais, j'obtiens une erreur lorsque vous tentez de vous connecter à la base de données: "Unkown serveur DB_HOST". Mes définitions de fichier est:
<?php
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_PASS","password");
define("DB_NAME","database");
?>
Puis-je les utiliser dans le fichier d'index de la sorte:
include('definitions.php');
include('class_lib.php');
$testing = new databaseServer();
$testing->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
Et la fonction que j'utilise dans la databaseServer classe est: est-ce
function connect($host,$user,$pw,$db) {
$this->con = mysql_connect($host,$user,$pw);
if (!$this->con) {
die('Could not connect: ' . mysql_error());
}
$this->selectDb($db);
}
function selectDb($database) {
$this->db = mysql_select_db($database,$this->con);
if (!$this->db) {
echo "Could not Select database: " . mysql_error();
}
}
Des idées pourquoi cela ne fonctionnerait pas? J'ai aussi essayé de mettre le fichier de définitions dans un inclure dans le class_lib fichier, mais ça ne fonctionne toujours pas.
source d'informationauteur Saladin Akara
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner très bien, et je n'ai jamais vu cela ne fonctionne pas.
Faire sûr à 100% le sont dans le bon ordre (le définit besoin d'être chargé en premier)
Faire des sorties de test des valeurs constantes dans l' "definitions.php" fichier et le fichier d'index
Faire sûr à 100% que vous appelez le droit des fichiers
Veuillez vérifier si votre serveur prend en charge short_open_tag cette valeur doit être commenté.
J'ai juste activé avec sur et il a commencé à travailler.
l'appeler config.php
puis include("config.php"); sur vos pages
de travail
pas de travail
idiot... IDÉE dit "redondant balise de fermeture"
Vous avez juste besoin de sortir le
define
fonctions de destination du fichier et de le transférer vers le fichier source (dans votre cas "translation.php") et prêt à l'emploi!Comme ça le bug de définir des fonctions sur la chaîne de réception params ne pas se produire et vous permettra d'inclure les CONSTANTES sont déjà implantés.
J'ai fait face à cette difficulté et me suis trouvé que cette solution.
La clé, c'est à l'aide de la constante() fonction pour tirer de la valeur à partir de la définition de constantes: