bonjour,
je rencontre un souci avec une fonction, voila d'abord le code...
ma page classique :
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 //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();
voila le souci que je rencontre :
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; } }
le test 2 & 3 fonctionnent bien alors que pour le 1er j'ai ce message d'erreur :apparement de ma classe composant j'arrive pas appeler la fonction query de la classe pdo2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Call to a member function query() on a non-object
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
Partager