annotate includes/class.dataaccess.php @ 72:217f56e6bc77

Si on arrive pas à vérifier le commentaire via Akismet, on l'affichera Le comportement précédent n'était pas réellement défini pour le cas ou l'authentification auprès d'Akismet ne se fait pas correctement, c'est maintenant réparé.
author Franck Deroche <webmaster@defr.org>
date Thu, 20 Mar 2008 19:47:11 +0100
parents 0071e5744311
children e4e50d4d3b7a
rev   line source
webmaster@0 1 <?php
webmaster@0 2 class DataAccess {
webmaster@0 3 var $host;
webmaster@0 4 var $user;
webmaster@0 5 var $pass;
webmaster@0 6 var $db;
webmaster@54 7 var $link;
webmaster@0 8 var $connOpen;
webmaster@53 9 var $results;
webmaster@53 10 var $queries;
webmaster@0 11 var $_nbQueries;
webmaster@68 12 var $_inError;
webmaster@0 13
webmaster@53 14 function DataAccess($host=DB_HOST, $user=DB_USER, $pass=DB_PASSWORD, $db=DB_NAME) {
webmaster@0 15 $this->host=$host;
webmaster@0 16 $this->user=$user;
webmaster@0 17 $this->pass=$pass;
webmaster@53 18 $this->db = $db;
webmaster@53 19 $this->connOpen = 0;
webmaster@0 20 $this->_nbQueries = 0;
webmaster@53 21 $this->queries = array();
webmaster@53 22 $this->results = array();
webmaster@0 23 $this->Connect();
webmaster@0 24 }
webmaster@0 25
webmaster@53 26 function Connect() {
webmaster@53 27 if($this->connOpen == 0) {
webmaster@54 28 $this->link = mysql_connect($this->host, $this->user, $this->pass);
webmaster@68 29 if($this->link === false)
webmaster@68 30 $this->_inError = true;
webmaster@68 31 else
webmaster@68 32 $this->_inError = !mysql_select_db($this->db, $this->link);
webmaster@53 33 }
webmaster@53 34 $this->connOpen++;
webmaster@0 35 }
webmaster@0 36
webmaster@0 37 function Query($query, $id=0) {
webmaster@53 38 $this->_nbQueries++;
webmaster@53 39 $this->queries[$id]=$query;
webmaster@53 40 $this->Connect();
webmaster@54 41 $this->results[$id]=mysql_query($this->queries[$id], $this->link);
webmaster@53 42 $this->Close();
webmaster@53 43 if(@$num_rows=mysql_num_rows($this->results[$id]))
webmaster@0 44 return $num_rows;
webmaster@53 45 return 0;
webmaster@0 46 }
webmaster@0 47
webmaster@0 48 function debugQuery($query, $id=0) {
webmaster@0 49 $rv = $this->Query($query, $id);
webmaster@0 50 if(mysql_errno() !== 0)
webmaster@0 51 echo("<span class='menu'>\n Query : {$query}<br />\n MySQL Answer : " . mysql_error() . "</span>");
webmaster@0 52 return $rv;
webmaster@0 53 }
webmaster@0 54
webmaster@0 55 function GetRow($id=0) {
webmaster@53 56 if(@$row=mysql_fetch_array($this->results[$id])) {
webmaster@0 57 return $row;
webmaster@0 58 }
webmaster@0 59 return 0;
webmaster@0 60 }
webmaster@0 61
webmaster@0 62 function Close() {
webmaster@53 63 $this->connOpen--;
webmaster@53 64 if($this->connOpen == 0) {
webmaster@54 65 mysql_close($this->link);
webmaster@53 66 }
webmaster@0 67 }
webmaster@0 68
webmaster@0 69 function getNbQueries() {
webmaster@0 70 return $this->_nbQueries;
webmaster@0 71 }
webmaster@0 72
webmaster@0 73 function formatDate($timestamp, $decallage=2, $pattern='d/m/Y H:i:s') {
webmaster@0 74 return gmdate($pattern, $timestamp + $decallage * 3600);
webmaster@0 75 }
webmaster@68 76
webmaster@68 77 function isInError()
webmaster@68 78 {
webmaster@68 79 return $this->_inError;
webmaster@68 80 }
webmaster@0 81 }
webmaster@0 82 ?>