bonjour,

je rencontre un souci avec une fonction, voila d'abord le code...


ma page classique :
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
 
//inclusion de mon fichier de classe.....
 
$pdo = PDO2::getInstance();
$composants = new composants();
 
$compo = $_SESSION['id_composant_EC']; // a pour valeur: a
 
//test1
$ls = $composants->selInfosCompoId($compo);
//test2
$resultats = $pdo->query('SELECT * FROM '.TB_ART);
$resultats->setFetchMode(PDO::FETCH_OBJ);
//test3
$resultats_prep=$pdo->prepare('SELECT * FROM '.TB_ART);
$resultats_prep->execute();
et mon fichier de 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
39
40
41
42
43
44
45
46
47
 
    class PDO2 extends PDO {
 
    	private static $instance = null;
        private $PDOInstance = null;
 
 
    	/* Constructeur : héritage public obligatoire par héritage de PDO */
    	public function __construct( ) {
 
    	}
    	// End of PDO2::__construct() */
 
    	/* Singleton */
    	public static function getInstance() {
            if(is_null(self::$instance)){
                self::$instance = new PDO(SQL_DSN, SQL_LOGIN, SQL_PASSWORD);
            }
            return self::$instance;
    	}
        public function query($query){
            return $this->PDOInstance->query($query);
        }
 
    	//select general avec where
        public	function sqlSelect($var,$nomtable,$nomwhere){
    		$sql = "SELECT $var FROM $nomtable WHERE $nomwhere";
    		$result=$this->query($sql);
    		if(DBUG_SITE == 'o'){
    			echo $sql."<br />";
    		}
    		return $result;
    	}
 
    	// End of PDO2::getInstance() */
    }
    //////////////////////////////////
 
    class composants extends PDO2{
 
    	//recupere toutes les infos en fonction de l'id
    	function selInfosCompoId($id){
    		$req = PDO2::sqlSelect("*",TB_COMPO,"id='$id'");
    		return $req;
    	}
 
    }
voila le souci que je rencontre :

le test 2 & 3 fonctionnent bien alors que pour le 1er j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Call to a member function query() on a non-object
apparement de ma classe composant j'arrive pas appeler la fonction query de la classe pdo2.

parce qu'avec le test2 je l'utilise.

je dois surement faire des trucs de travers ??
quelqu'un peut me dire comme je fais pour resoudre ce probleme ??

merci beaucoup
.fey