Changeset 266
- Timestamp:
- 02/24/08 19:32:28 (9 months ago)
- Files:
-
- branches/luxbum-0.5/_fonctions/mysql.inc.php (modified) (15 diffs)
- branches/luxbum-0.5/_fonctions_manager/parametres.php (modified) (1 diff)
- branches/luxbum-0.5/manager.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/luxbum-0.5/_fonctions/mysql.inc.php
r66 r266 11 11 */ 12 12 var $db_link; 13 13 14 14 /** 15 15 * Nombre de requêtes effectuées … … 17 17 */ 18 18 var $nb_sql; 19 19 20 20 /** 21 21 * Hôte du serveur Mysql … … 23 23 */ 24 24 var $mysqlserveur; 25 25 26 26 /** 27 27 * Login de l'utilisateur mysql … … 29 29 */ 30 30 var $mysqlloggin; 31 31 32 32 /** 33 33 * Mot de passe de l'utilisateur … … 35 35 */ 36 36 var $mysqlpassword; 37 37 38 38 /** 39 39 * Nom de la base de données … … 58 58 $this->mysqlmaindb = $mysqlmaindb; 59 59 } 60 60 61 /** 62 * Teste si l'extension mysql de php est disponible 63 * @return boolean true / false 64 */ 65 function isAvailable () { 66 return function_exists('mysql_connect'); 67 } 68 61 69 62 70 /** … … 65 73 */ 66 74 function DbConnect () { 67 $this->db_link = @mysql_connect ($this->mysqlserveur , $this->mysqlloggin , $this->mysqlpassword) 75 $this->db_link = @mysql_connect ($this->mysqlserveur , $this->mysqlloggin , $this->mysqlpassword) 68 76 or die('Connexion à la base de données impossible !! : '.$this->mysqlErr()); 69 @mysql_select_db ($this->mysqlmaindb) 77 @mysql_select_db ($this->mysqlmaindb) 70 78 or die('Sélection de la table impossible !!'.$this->mysqlErr()); 71 79 } 72 80 73 81 /** 74 82 * Teste une connection au serveur et à la base de données. … … 76 84 * avoir un message d'erreur détaillé. 77 85 * @access public 78 * @return boolean true / false 86 * @return boolean true / false 79 87 */ 80 88 function testDbConnect () { … … 96 104 function DbQuery ($query) { 97 105 $this->nb_sql++; 98 $result = mysql_query ($query, $this->db_link) 99 or die ('<br /><strong>ERREUR</strong> '.($this->mysqlErr()).'<br /><strong>Requete</strong>: '.$query); 106 $result = mysql_query ($query, $this->db_link) 107 or die ('<br /><strong>ERREUR</strong> '.($this->mysqlErr()).'<br /><strong>Requete</strong>: '.$query); 100 108 return $result; 101 109 } … … 141 149 @mysql_close(); 142 150 } 143 151 144 152 /** 145 153 * Retourne l'id auto généré lors d'une requête INSERT … … 150 158 return mysql_insert_id(); 151 159 } 152 160 153 161 /** 154 162 * Retourne la liste des tables de la base sélectionnée … … 159 167 return $this->DbQuery('SHOW TABLES FROM '.$this->mysqlmaindb); 160 168 } 161 169 162 170 /** 163 171 * Retourne un message d'erreur plus parlant que celui par défaut de la … … 167 175 */ 168 176 function mysqlErr() { 169 $partie = explode('\'', mysql_error() ); // On découpe le message d'erreur retourné par mysql_error() 170 177 $partie = explode('\'', mysql_error() ); // On découpe le message d'erreur retourné par mysql_error() 178 171 179 switch (mysql_errno() ) { // On cherche quel N° d'erreur SQL à été retouné 172 180 case 1040 : // Too many connections … … 194 202 break; 195 203 case 1064 : // You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'requete' 196 return 'Une erreur de syntaxe SQL se trouve dans la requête "'.$partie[1].'".'; 204 return 'Une erreur de syntaxe SQL se trouve dans la requête "'.$partie[1].'".'; 197 205 case 1065 : // Query was empty 198 return 'Aucune requête SQL n\'à été trouvée.'; 206 return 'Aucune requête SQL n\'à été trouvée.'; 199 207 case 1109 : // Unknown table 'nom_table' in where clause 200 208 case 1146 : 201 return 'La table "'.$partie[1].'" n\'a pas été trouvée dans la clause WHERE.'; 209 return 'La table "'.$partie[1].'" n\'a pas été trouvée dans la clause WHERE.'; 202 210 case 2002 : // Can't connect to local MySQL server through socket 'chemnin d'accès' (2) 203 211 return 'Échec lors de la connection au serveur SQL.'; … … 210 218 } 211 219 } 212 220 213 221 /** 214 222 * Getter du nombre de requêtes effectuées branches/luxbum-0.5/_fonctions_manager/parametres.php
r66 r266 147 147 if ($param['show_commentaire'] == 'on' && $errCom == false) { 148 148 $mysqlParam = new mysqlInc($param['dbl_host'], $param['dbl_login'], $param['dbl_password'], $param['dbl_name']); 149 if (!$mysqlParam->testDbConnect()) { 149 if (!$mysqlParam->isAvailable()) { 150 $err_vide = true; 151 $page->MxText('err_dbl_host', 'L\'extension mysql n\'est pas disponible sur le serveur. Vous devez désactiver les commentaires.'); 152 } 153 else if (!$mysqlParam->testDbConnect()) { 150 154 $err_vide = true; 151 155 $page->MxText('err_dbl_host', $mysqlParam->mysqlErr()); branches/luxbum-0.5/manager.php
r81 r266 164 164 165 165 // Connection à la base de données 166 if (SHOW_COMMENTAIRE == 'on' || (SHOW_COMMENTAIRE == 'off' && $mysql->testDbConnect())) {166 if (SHOW_COMMENTAIRE == 'on' && $mysql->isAvailable() && $mysql->testDbConnect()) { 167 167 $mysql->DbConnect(); 168 168 }
