Mercurial > defr > DualBlog
comparison includes/class.dataaccess.php @ 54:d0b737b2b398
Utilisation de l'identifiant du lien MySQL
Cela permet de correctement gérer la situation où deux objets DataAccess
sont successivement crées pour accéder à des bases de données différentes.
Il n'est bien entendu pas necessaire de créer deux objets DataAccess pour
executer des requetes en parallèles sur la *même base de données*, les
identifiants de requetes qu'il est possible de passer aux fonctions
Query et GetRow sont là pour ca.
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Tue, 29 Jan 2008 11:58:49 +0100 |
parents | ec0c926a78a6 |
children | 0071e5744311 |
comparison
equal
deleted
inserted
replaced
53:ec0c926a78a6 | 54:d0b737b2b398 |
---|---|
2 class DataAccess { | 2 class DataAccess { |
3 var $host; | 3 var $host; |
4 var $user; | 4 var $user; |
5 var $pass; | 5 var $pass; |
6 var $db; | 6 var $db; |
7 var $link; | |
7 var $connOpen; | 8 var $connOpen; |
8 var $results; | 9 var $results; |
9 var $queries; | 10 var $queries; |
10 var $_nbQueries; | 11 var $_nbQueries; |
11 | 12 |
21 $this->Connect(); | 22 $this->Connect(); |
22 } | 23 } |
23 | 24 |
24 function Connect() { | 25 function Connect() { |
25 if($this->connOpen == 0) { | 26 if($this->connOpen == 0) { |
26 mysql_connect($this->host, $this->user, $this->pass); | 27 $this->link = mysql_connect($this->host, $this->user, $this->pass); |
27 mysql_select_db($this->db); | 28 mysql_select_db($this->db, $this->link); |
28 } | 29 } |
29 $this->connOpen++; | 30 $this->connOpen++; |
30 } | 31 } |
31 | 32 |
32 function Query($query, $id=0) { | 33 function Query($query, $id=0) { |
33 $this->_nbQueries++; | 34 $this->_nbQueries++; |
34 $this->queries[$id]=$query; | 35 $this->queries[$id]=$query; |
35 $this->Connect(); | 36 $this->Connect(); |
36 $this->results[$id]=mysql_query($this->queries[$id]); | 37 $this->results[$id]=mysql_query($this->queries[$id], $this->link); |
37 $this->Close(); | 38 $this->Close(); |
38 if(@$num_rows=mysql_num_rows($this->results[$id])) | 39 if(@$num_rows=mysql_num_rows($this->results[$id])) |
39 return $num_rows; | 40 return $num_rows; |
40 return 0; | 41 return 0; |
41 } | 42 } |
55 } | 56 } |
56 | 57 |
57 function Close() { | 58 function Close() { |
58 $this->connOpen--; | 59 $this->connOpen--; |
59 if($this->connOpen == 0) { | 60 if($this->connOpen == 0) { |
60 mysql_close(); | 61 mysql_close($this->link); |
61 } | 62 } |
62 } | 63 } |
63 | 64 |
64 function getNbQueries() { | 65 function getNbQueries() { |
65 return $this->_nbQueries; | 66 return $this->_nbQueries; |