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 extend de class sql [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut classe extend de class sql
    Bonjour,

    J'ai créé 2 classe php pour se connecter a une basse de donnee mysql voir ci-dessous elle fonctionne tres bien sauf quand
    je les inclus dans une autre classe php via extend ca marche plus il me renvoie comme erreur
    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource
    .

    Pouvez vous m'aider ?

    Merci a vous

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    class mysql_tmp
    {
    	function construct__()
    	{
    	  $this->connect_tmp = mysql_connect("localhost", "root", "azertyuio");
     
        if ($this->connect_tmp !== FALSE)
        {
          if (mysql_select_db("basse_temporaire") === FALSE)
          {
            mysql_close($this->connect_tmp);
            $this->connect_tmp = FALSE;
            die('Impossible de sélectionner une base de données.');
          }
          return TRUE;
        }
        else
        {
            die('Impossible de se connecter à la base de données.');
        } 
    	}
     
    	function load($requete)
    	{
     
    		$req = mysql_query("SELECT ".$requete."") or die(mysql_error());
     
        return mysql_fetch_object($req);
    	}	
     
      function close()
      {
        if ($this->connect_tmp !== FALSE)
        {
          $this->connect_tmp = mysql_close($this->connect_tmp);
        }
        return FALSE;
      }	
    }
     
    class mysql
    {
    	function construct__()
    	{
    	  $this->connect = mysql_connect("localhost", "root", "azertyuio",TRUE);
     
        if ($this->connect !== FALSE)
        {
          if (mysql_select_db("basse",$this->connect) === FALSE)
          {
            mysql_close($this->connect);
            $this->connect = FALSE;
            die('Impossible de sélectionner une base de données.');
          }
          return TRUE;
        }
        else
        {
            die('Impossible de se connecter à la base de données.');
        } 
    	}
     
    	function load($requete)
    	{
     
    		$req = mysql_query("SELECT ".$requete."") or die(mysql_error());
     
        return mysql_fetch_object($req);
    	}
     
      function close()
      {
        if ($this->connect !== FALSE)
        {
          $this->connect = mysql_close($this->connect);
        }
        return FALSE;
      }  	
    }

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ya comme un souci dans ma tête : tu inclus ta classe via extend ? ce qui veut dire que tu construis une autre classe qui hérite de celle-ci ou que tu inclus cette classe dans un autre script et que tu utilises ?

    Au passage, tu as également mysqli et PDO pour gérer une base mysql. Peut-être qu'un des deux pourrait te servir et t'éviter de réinventer la roue
    Les API pour mysql
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Non non j'inclus ma class sql ddans une autre classe de type class_other extend mysql

    merci a toi

  4. #4
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Juste pour info je voulais me connecter a 2 base en même temps j'ai testé ca qui marché très bien mais des que je les fais en class ça marche très mal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $db=mysql_connect("localhost","root","password");
    $db1=mysql_connect("localhost","root","password",true);
     
    mysql_select_db("base_1",$db);
    mysql_select_db("base_2",$db1);
    Merci a vous

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Dans ce cas, je dirai que le problème doit se situer au niveau de la seconde classe. On peut avoir ce code là ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Aprés moulte essai j'ai fini par trouver mon problème en faite j'ouvrai ma connexion a la bdd dans le constructeur et c'est cela qui faisait beugué mon truc donc jai cree une fonction connexion dans ma classe voila.

    Merci pour votre aide.

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

Discussions similaires

  1. class pour table + class pour td = class td non fonctionnelle ?
    Par supergrey dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/05/2009, 08h13
  2. [Swing]Affichage classe extends JPanel
    Par Quentin D dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 03/08/2007, 12h58
  3. pb avec une classe extends JPanel
    Par thecancre dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 11/05/2006, 18h45
  4. class , extends....
    Par maminova dans le forum Langage
    Réponses: 10
    Dernier message: 17/10/2005, 13h51
  5. [AS2] durée de vie d'une classe (extends movieclip)
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 23/07/2005, 13h33

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