Bonjour, je n'arrive pas à résoudre ce probleme, ma classe m'affiche ces erreurs, savez vous d'où ca pourrait venir?


Warning: mysqli::query() [function.mysqli-query]: Couldn't fetch mysqli in /mnt/nfs1/home/ftp/socash.fr/public_html/include/session_config.php on line 64

Warning: mysqli::query() [function.mysqli-query]: Couldn't fetch mysqli in /mnt/nfs1/home/ftp/socash.fr/public_html/include/session_config.php on line 77

Warning: SQLSessionManager::gc() [function.SQLSessionManager-gc]: Couldn't fetch mysqli in /mnt/nfs1/home/ftp/socash.fr/public_html/include/session_config.php on line 78

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
80
81
abstract class SessionManager 
{
	public $session_name;
	public $lifeTime = 3600;
	public $id;
	public $db;
 
	abstract public function open($savePath, $sessName);
	abstract public function close();
	abstract public function read($sessID);
	abstract public function write($sessID,$sessData);
	abstract public function destroy($sessID);
	abstract public function gc($sessMaxLifeTime);    
 
	public function __construct($mysqli) 
	{
		$this->db = $mysqli;
		if (!session_set_save_handler(	array(&$this,'open'),
										array(&$this,'close'),
										array(&$this,'read'),
										array(&$this,'write'),
										array(&$this,'destroy'),
										array(&$this,'gc') ) ) 
		{
			throw new Exception('Erreur lors de l\'init des sessions !');
		}
		session_start(); 
	 }
}
 
class SQLSessionManager extends SessionManager 
{
 	public function __destruct() 
	{
     	session_write_close();
 	}
 
	public function open($savePath, $sessName) 
	{   
		return true;
	}
 
 	public function close() 
	{
		$this->gc(ini_get('session.gc_maxlifetime'));
		unset($this->db);
  	}
 
 	public function read($sessID) 
	{   
		 $this->id = $sessID;
 
		 $res = $this->db->query("SELECT data FROM session WHERE id = '".$sessID."' AND expires > '".time()."'");
 
		 return ( ( $row = $res->fetch_row() ) !== FALSE ) ? $row[0] : ' ';
	 }
 
	 public function write($sessID,$sessData) 
	 {
		 $this->id = $sessID;
		 $newExp = time() + $this->lifeTime;
 
		 $res = $this->db->query("INSERT INTO session (id, data, expires) VALUES ('".$sessID."', '".$sessData."', '".$newExp."') ON DUPLICATE KEY UPDATE data = '".$sessData."', expires = '".$newExp."'");
 
		 return TRUE;	 
	 }
 
 	public function destroy($sessID) 
	{
		$res = $this->db->query("DELETE FROM session WHERE id = '".$sessID."'");
		return ( $this->db->affected_rows === 1 ) ? TRUE : FALSE;
 	}
 
	 public function gc($sessMaxLifeTime) 
	 {
		$res = $this->db->query("DELETE FROM session WHERE ( UNIX_TIMESTAMP(expires) - UNIX_TIMESTAMP(NOW()) ) > '".$sessMaxLifeTime."' ");
		return $this->db->affected_rows;
	} 
}
 
$session = new SQLSessionManager($link);
merci de votre aide