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 :

Classe de connection à BDD


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut Classe de connection à BDD
    Bonjour à tous, voila j'ai l'habitude en Java et C# lorsque je travaille avec un objet de connexion à une base de donnée de vérifier que celui-ci est différent de null avant d'executer la fonction de fermeture de la connection et des objet resultset et autres, mais en PHP ça ne fonctionne pas, pouvez-vous m'éclairer ?

    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
    40
    41
    42
    43
    <?
    class dbcon
    {
    public $mysqli;
     
    	function __construct()
    	{
    		printf("hello<br />");
    	}
     
    	function Connection()
    	{
    		require("./conf/config.php");
    		$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
    		if (mysqli_connect_errno()) 
    		{
    			printf("Échec de la connexion : %s\n", mysqli_connect_error());
    			$mysqli = null;
    			exit();
    		}
    		else
    		{
    			printf("Connection établie <br />");
    			//return $mysqli;
    		}
    	}
     
    	function CloseConnection()
    	{
    		if ($mysqli != null)
    		{	$mysqli->close();
    			printf("Connection fermée<br />");
    		}
    		else
    			printf("La connexion n'existait pas<br />");
    	}
    }
    	function _destruct()
    	{
    		printf("byebye<br />");
    	}
     
    ?>
    En fait lorsque j'instancie l'objet dbcon et que j'execute Connection, tout va bien, mais lorsque j'execute la fonction, CloseConnection(), j'ai toujours le message "La connexion n'existait pas" qui s'affiche, il évalue if toujours faux...
    Pouvez-vous m'éclairer ?
    Il semble que la variable $mysqli se remette à null directement après l'execution de Connection();

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Ta variable $mysqli elle sort d'où ?

    Tu ne passe ni la variable en paramètre ni la déclare dans ta classe (protected, public, ...).

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Salut,

    En PHP c'est $this->mysqli pour acceder a la variable d'instance

    $mysqli (sans this) est toujours une variable locale à la méthode, c'est pourquoi elle est null dans ta fonction CloseConnection

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    Je vous remercie tous les deux, même si le message de Taum m'a le plus aidé :-D

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/09/2006, 11h58
  2. [VB5]Pb connection Bdd
    Par calimero91 dans le forum VB 6 et antérieur
    Réponses: 23
    Dernier message: 12/06/2006, 07h43
  3. [VB] connection BDD mysql
    Par oceane751 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/02/2006, 23h10
  4. connection bdd
    Par nath-0-0 dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/11/2005, 16h55
  5. prob connection bdd access chez hebergeur
    Par zorba49 dans le forum ASP
    Réponses: 2
    Dernier message: 14/09/2005, 19h23

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