annotate includes/class.dataaccess.php @ 65:434751e80c88

Utilisation de la classe Requete dans tb.php Cela permet de gérer automatiquement l'ajout des quotes si on a pas de magic_quotes notamment, empechant les injections SQL :-)
author Franck Deroche <webmaster@defr.org>
date Tue, 11 Mar 2008 16:33:07 +0100
parents d0b737b2b398
children 0071e5744311
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@0 12
webmaster@53 13 function DataAccess($host=DB_HOST, $user=DB_USER, $pass=DB_PASSWORD, $db=DB_NAME) {
webmaster@0 14 $this->host=$host;
webmaster@0 15 $this->user=$user;
webmaster@0 16 $this->pass=$pass;
webmaster@53 17 $this->db = $db;
webmaster@53 18 $this->connOpen = 0;
webmaster@0 19 $this->_nbQueries = 0;
webmaster@53 20 $this->queries = array();
webmaster@53 21 $this->results = array();
webmaster@0 22 $this->Connect();
webmaster@0 23 }
webmaster@0 24
webmaster@53 25 function Connect() {
webmaster@53 26 if($this->connOpen == 0) {
webmaster@54 27 $this->link = mysql_connect($this->host, $this->user, $this->pass);
webmaster@54 28 mysql_select_db($this->db, $this->link);
webmaster@53 29 }
webmaster@53 30 $this->connOpen++;
webmaster@0 31 }
webmaster@0 32
webmaster@0 33 function Query($query, $id=0) {
webmaster@53 34 $this->_nbQueries++;
webmaster@53 35 $this->queries[$id]=$query;
webmaster@53 36 $this->Connect();
webmaster@54 37 $this->results[$id]=mysql_query($this->queries[$id], $this->link);
webmaster@53 38 $this->Close();
webmaster@53 39 if(@$num_rows=mysql_num_rows($this->results[$id]))
webmaster@0 40 return $num_rows;
webmaster@53 41 return 0;
webmaster@0 42 }
webmaster@0 43
webmaster@0 44 function debugQuery($query, $id=0) {
webmaster@0 45 $rv = $this->Query($query, $id);
webmaster@0 46 if(mysql_errno() !== 0)
webmaster@0 47 echo("<span class='menu'>\n Query : {$query}<br />\n MySQL Answer : " . mysql_error() . "</span>");
webmaster@0 48 return $rv;
webmaster@0 49 }
webmaster@0 50
webmaster@0 51 function GetRow($id=0) {
webmaster@53 52 if(@$row=mysql_fetch_array($this->results[$id])) {
webmaster@0 53 return $row;
webmaster@0 54 }
webmaster@0 55 return 0;
webmaster@0 56 }
webmaster@0 57
webmaster@0 58 function Close() {
webmaster@53 59 $this->connOpen--;
webmaster@53 60 if($this->connOpen == 0) {
webmaster@54 61 mysql_close($this->link);
webmaster@53 62 }
webmaster@0 63 }
webmaster@0 64
webmaster@0 65 function getNbQueries() {
webmaster@0 66 return $this->_nbQueries;
webmaster@0 67 }
webmaster@0 68
webmaster@0 69 function formatDate($timestamp, $decallage=2, $pattern='d/m/Y H:i:s') {
webmaster@0 70 return gmdate($pattern, $timestamp + $decallage * 3600);
webmaster@0 71 }
webmaster@0 72 }
webmaster@0 73 ?>