Bonsoir à tous, j'ai étendu PDO dans php 5.2 sans aucun problème.
Cette extension est définie dans ma librairie magix cjquery.
Une chose que je ne comprend pas encore c'est pourquoi elle ne fonctionne pas sous php 5.3.
C'est surtout les fetch qui débloque, et me retourne cette erreur :
J'essaie de trouver les modifications à faire pour upgrader la librairie.SQLSTATE[HY000]: General error: mode must be an integer382
Une idée sur la cause du message ?
Voila le début de ma class avec l'instance principal :
Lorsque je repasse sous php 5.2 sa fonctionne, puis si je bascule le message reviens avec un simple fetchall
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 function __construct () { if (!(self::getInfo() instanceof CallDbData)) { throw new Exception('Invalid instanceof CallDbData'); } if (!(self::PDOInstance() instanceof PDO)) { throw new Exception('Invalid instanceof PDO'); } try { self::PDOInstance()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ print $e->getMessage(); } } /** * instance singleton self (DataObjects) * @access public */ public static function getInstance(){ if (!isset(self::$instance)){ if(is_null(self::$instance)){ self::$instance = new DataObjects(); } } return self::$instance; } /** * instance singleton self (CallDbData) * @access protected */ protected static function getInfo(){ if (!isset(self::$getinfo)){ if(is_null(self::$getinfo)){ self::$getinfo = new CallDbData(); } } return self::$getinfo; } /** * instance singleton self (PDO) * @access protected */ protected static function PDOInstance(){ if (!isset(self::$PDOInstance)){ if(is_null(self::$PDOInstance)){ self::$PDOInstance = new PDO(self::getInfo()->getconnStr(),self::getInfo()->getuser(),self::getInfo()->getpass()); } } return self::$PDOInstance; }
Partager