IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Condition ne fonctionnant pas dans une classe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut Condition ne fonctionnant pas dans une classe
    Bonjour,

    Pour pouvoir utiliser mon appli aussi bien en local que chez mon hébergeur, j'avais fait 2 sources de connexion différents.

    Je voudrai maintenant inclure dans ma class d'accès à ma base les lignes suivantes pour qu'il détecte seul si on est en local ou à distance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(eregi("c:", $_SERVER['DOCUMENT_ROOT'])) {
       define("DBHOST", "localhost");
       define("DBNAME", "nom_bdd");
       define("DBUSER", "root");
       define("DBPASSWD", "");
    } else {
       define("DBHOST", "hote_sql");
       define("DBNAME", "nom_bdd");
       define("DBUSER", "nom_user");
       define("DBPASSWD", "mot_de_passe");
    }
    Dans mon script php, la syntaxe est bonne, dès que je le met dans ma class de connexion, j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parse error, unexpected T_IF, expecting T_FUNCTION in
    Ma class est comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    class MySql 
    {
    	var $dbHost = ""; // hostname of the MySQL server
    	var $dbName = ""; // logical database name on that server
    	var $dbUser = ""; // database authorized user
    	var $dbPass = ""; // user's password
    	var $linkId = 0; // last result of mysql_connect()
    	var $queryId = 0; // last result of mysql_query()
    	var $record = array(); // last record fetched
    	var $currentRow; // current row number
    	var $errorNumber = 0; // last error number
    	var $errorMessage = ""; // last error message
    	var $errorLocation = ""; // last error location
    	var $lasIncrement = ""; // last increment sur insert
     
    	// constructor
    	if(eregi("c:", $_SERVER['DOCUMENT_ROOT'])) {
       define("DBHOST", "localhost");
       define("DBNAME", "nom_bdd");
       define("DBUSER", "root");
       define("DBPASSWD", "");
    } else {
       define("DBHOST", "hote_sql");
       define("DBNAME", "nom_bdd");
       define("DBUSER", "nom_user");
       define("DBPASSWD", "mot_de_passe");
    }
    	function MySql($dbHost = DBHOST, $dbName = DBNAME, $dbUser = DBUSER, $dbPass = DBPASSWD)
    	{
    		$this->dbHost = $dbHost;
    		$this->dbName = $dbName;
    		$this->dbUser = $dbUser;
    		$this->dbPass = $dbPass;
    	}
    Cette erreur provient d'où puisque je suis en php dans les 2 cas ?

    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    On ne peut pas mettre d'instructions PHP comme vous le faîtes dans le corps d'une classe. Mettez celui-ci avant ou ailleurs (méthodes, ...). D'autant plus que je n'en vois pas l'intérêt dans le cas de constantes .


    Julp.

  3. #3
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Merci beaucoup.

    Je vais utiliser une autre solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Condition qui ne fonctionne pas dans une page jsp
    Par Lopak dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 29/04/2010, 16h37
  2. Réponses: 14
    Dernier message: 22/02/2008, 19h01
  3. Réponses: 6
    Dernier message: 22/05/2007, 09h55
  4. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46
  5. Réponses: 1
    Dernier message: 27/10/2005, 21h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo