Bonjour,

J'essaie de créer une classe de connexion à MySQL (cConnexion) en utilisant PDO.
En réalité, cette classe comportera plusieurs méthode.
- Connect
- PrepareQuery
- Query

Le but est de faire en sorte que toutes les requêtes MySQL passent par cette classe.
Mon problème est le suivant. Je souhaite lever des exceptions pour toute erreur de connexion ou d'exécution d'un requête et la renvoyer sur mon template.

Pour le moment je n'envoi pas les paramètres de connexion via l'appel des méthodes. Ils sont codés en durs.

Le hic, c'est que si j'utilise try /catch, du côté du template, rien ne s'affiche.
Voilà mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
	/*
	 * @author: xxxxxxx
	 * @contact: xxxx@gmail.com
	 * @version: v1.0
	 * @licence: GPL
	 */
 
	/*
	 * Cette classe gère les connexions à la base MySQL
	 */
	class cConnection {
 
		/*
		 * @var String $host
		 * Domaine ou IP du serveur de bdd
		 */
		private $host = "";
 
		/*
		 * @var String $login
		 * Nom d'utilisateur de connexion à la bdd
		 */
		private $login = "";
 
		/*
		 * @var String $pass
		 * Mot de passe de connexion à la bdd
		 */
		private $pass = "";
 
		/*
		 * @var String $db
		 * Nom de la base de données à utiliser
		 */
		private $db = "";
 
		/*
		 * @name __contruct
		 * Constructeur
		 * 
		 *  @param String host: Domaine ou IP du serveur de bdd
		 *  @param String login: Nom d'utilisateur de connexion à la bdd
		 *  @param String pass: Mot de passe de connexion à la bdd
		 *  @param String db: Nom de la base de données à utiliser
		 */
		public function __construct($host=NULL, $login=NULL, $pass=NULL, $db=NULL) {
			$this->host = $host;
			$this->login = $login;
			$this->pass = $pass;
			$this->db = $db;
		}
 
		/*
		 * @name connect
		 * Connexion à la base de données
		 */
		public static function connect() {
			try {	
				$connect = new PDO('mysql:host=localhost;dbname=db', 'test', 'pass');
				$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			} catch (PDOException $e) {
				die ($e->getMessage());
				return $e;
			}
			return $connect;
		}
	}
 
 
?>
J'ai également une classe cException :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
	class cExceptions extends Exception {
 
		/*
		 * @name __contruct
		 * Constructeur
		 * 
		 */
		public function __construct($msg=NULL, $code=0) {
			parent::__construct($msg, $code);
		}
 
		/*
		 * @name ShowError
		 * @return [code]: message 
		 */
		public function ShowError() {
			return '['.$this->code.']: ' . $this->getMessage();
		}
	}
Auriez-vous une idée ?