bonjour!
voici un bout de code:
Le but de mon code est d'attrapé une exception si la requete SQL n'est pas éxécutée.
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(); }
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:
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"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 catch(exception $e){ }
Je ne comprend pas et ne maitrise pas ce comportement de l'exception.
Pouvez vous m'éclairer SVP ?
merci![]()
Partager