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;