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

Langage PHP Discussion :

problème avec une classe [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut problème avec une classe
    Bonjour,

    j'ai un problème avec ma classe mysql que j'ai créer
    voici la une partie de la classe
    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
    35
    36
    37
    38
     
     class mysql { 
    	private $sql_user;
    	private $sql_data_base;
    	private $sql_query;
    	private $sql_table_name;
     
        public function __construct($server,$user,$password,$data_base) 
    	{ 
    		$this-->$sql_server = $server;
    		$this-->$sql_user = $user;
    		$this-->$sql_password = $password;
    		$this-->$sql_data_base = $data_base;
    		$this-->connect();
    		$this-->selectDataBase();
        } 
    	public function connect()
    	{
    		try
    		{
    			mysql_connect($this-->$sql_server,$this-->$sql_user,$this-->$sql_password);
    		}
    		catch(Exeption $e)
    		{
    			$this->error('Erreur de connexion a la base de donnée '.$this->sql_data_base .mysql_error());
    		}
    	}
    	public function selectDataBase()
    	{
    		try
    		{
    			mysql_select_db($this-->sql_data_base);
    		}
    		catch(Exception $e)
    		{
    			$this-->error('Erreur lors de la selection de la base de donnee '.$this-->sql_data_base .mysql_error());
    		}
    	}
    dans mon fichier php je l'inizialise de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $db = new mysql('localhost', 'root','','restonet');
    mais il me donne cette erreur

    Fatal error: Call to undefined function connect() in C:\Program Files\EasyPHP 3.0\www\restonet.ch\class\mysql.class.php on line 68

    quand la fonction connect de l'appelle en dehors de mon constructeur cela fonctionne
    est-ce que quelqu'un pourrais m'aider

    Je remercie d'avance toute les personnes me donnant des indiquations

  2. #2
    darthmower
    Invité(e)
    Par défaut
    Salut,

    Lorsque tu fais appel à une méthode de class, tu dois utiliser l'opérateur -> et non -->

    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
    35
    36
    37
    38
     
    class mysql { 
    	private $sql_user;
    	public $sql_data_base;
    	private $sql_query;
    	private $sql_table_name;
     
        public function __construct($server,$user,$password,$data_base) 
    	{ 
    		$this->$sql_server = $server;
    		$this->$sql_user = $user;
    		$this->$sql_password = $password;
    		$this->$sql_data_base = $data_base;
    		$this->connect();
    		$this->selectDataBase();
        } 
    	public function connect()
    	{
    		try
    		{
    			mysql_connect($this->$sql_server,$this->$sql_user,$this->$sql_password);
    		}
    		catch(Exeption $e)
    		{
    			$this->error('Erreur de connexion a la base de donnée '.$this->sql_data_base .mysql_error());
    		}
    	}
    	public function selectDataBase()
    	{
    		try
    		{
    			mysql_select_db($this->sql_data_base);
    		}
    		catch(Exception $e)
    		{
    			$this->error('Erreur lors de la selection de la base de donnee '.$this-->sql_data_base .mysql_error());
    		}
    	}

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    ok je te remercie pour ta reponse
    je fais de suite les correction

    Merci

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    la correction a bien été faite
    mais voila maintenant il me dis autre chose
    on est bien d'accord que toute varible private son visible dans toute les methode d'une classe
    alors pourquoi il me dis

    Notice: Undefined variable: sql_server in C:\Program Files\EasyPHP 3.0\www\restonet.ch\class\mysql.class.php on line 64

    Fatal error: Cannot access empty property in C:\Program Files\EasyPHP 3.0\www\restonet.ch\class\mysql.class.php on line 64
    en faite je voualis affecter les valeur passée en paramaètre en créant objet classe a mes varables private de ma classe pour pouvoir les utiliser dans mes methode sans devoir les paramètrer a chaque fois

    merci pour les réponse

  5. #5
    darthmower
    Invité(e)
    Par défaut
    Je viens de voir une autre erreur, tu ne dois pas mettre de $ au niveau des attributs quand tu utilises $this donc ça donne:

    ex:
    $this->toto au lieu de $this->$toto

    Code corrigé:

    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
    35
    36
    37
    38
    39
     
     
    class mysql { 
    	private $sql_user;
    	private $sql_data_base;
    	private $sql_query;
    	private $sql_table_name;
     
        public function __construct($server,$user,$password,$data_base) 
    	{ 
    		$this->sql_server = $server;
    		$this->sql_user = $user;
    		$this->sql_password = $password;
    		$this->sql_data_base = $data_base;
    		$this->connect();
    		$this->selectDataBase();
        } 
    	public function connect()
    	{
    		try
    		{
    			mysql_connect($this->sql_server,$this->sql_user,$this->sql_password);
    		}
    		catch(Exeption $e)
    		{
    			$this->error('Erreur de connexion a la base de donnée '.$this->sql_data_base .mysql_error());
    		}
    	}
    	public function selectDataBase()
    	{
    		try
    		{
    			mysql_select_db($this->sql_data_base);
    		}
    		catch(Exception $e)
    		{
    			$this->error('Erreur lors de la selection de la base de donnee '.$this->sql_data_base .mysql_error());
    		}
    	}
    Gripsou

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    Merci

    J'ai bien fais toute les correction et maintenant sa a l'aire de fonctionner

    te remercie beaucoup de ton aide

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

Discussions similaires

  1. problème avec une classe générique
    Par bard123 dans le forum Langage
    Réponses: 4
    Dernier message: 27/06/2008, 11h09
  2. [POO] Problème avec une classe + requêtes sql
    Par mithrendil dans le forum Langage
    Réponses: 2
    Dernier message: 30/04/2007, 08h27
  3. Problème avec une classe générique
    Par Core8 dans le forum C++
    Réponses: 3
    Dernier message: 19/03/2007, 03h18
  4. Problème avec une classe ActionScript
    Par Patryk403 dans le forum Flash
    Réponses: 3
    Dernier message: 06/08/2006, 12h42
  5. Problème avec une classe... "without object"
    Par z980x dans le forum C++
    Réponses: 8
    Dernier message: 27/04/2006, 16h00

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