bonjour!

voici un bout de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
        ...
        try{
	$query="SELECT * FROM fee.member_list WHERE nick=:chaine limit 1;";
	$result=$dbf->prepare($query);
	$result_tag=$result->execute(array(':chaine'=>addslashes($string)));
	if (!$result_tag)
	throw new BDDexception(2);
	...	
	}
	catch(BDDexception $e){
	$e->showpage();
	}
Le but de mon code est d'attrapé une exception si la requete SQL n'est pas éxécutée.
si je met un "a" avant le SELECT pour provoquer une erreur voici ce que je recoit de PHP comme message d'erreur :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 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 'aSELECT * FROM fee.member_list WHERE nick='c' limit 1' at line 1' in D:\serveur_local\wamp\www\fee\php\verif_inscrip_index_excep.php:37 Stack trace: #0 D:\serveur_local\wamp\www\fee\php\verif_inscrip_index_excep.php(37): PDOStatement->execute(Array) #1 {main} thrown in D:\serveur_local\wamp\www\fee\php\verif_inscrip_index_excep.php on line 37

J'ai remarqué aussi que si je rajoute un autre catch comme celui la:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
catch(exception $e){
	}
Ca a l'air de fonctionné sans que je fasse un test sur la requete et ca utilise la classe exception alors que je veux utiliser la classe "BDDexception"

Je ne comprend pas et ne maitrise pas ce comportement de l'exception.

Pouvez vous m'éclairer SVP ?

merci