Bonjour ,
Si j'ai une erreur de connexion à une base de données due à une erreur dans la variable DSN comme dans l'exemple ci-dessous où le host est faux
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $host = "localhost1"; $dbname = "tableTest"; $dsn = "mysql:host=". $host.";dbname=".$dbname; $username = 'root'; $password = ''; $dbConnect = new PDO($dsn, $username, $password, $options);
Coté JS, cela est traité en ERROR car la responseText est polluée par des infos qui font que les données ne sont plus au format JSON (cf. ci-dessous)
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <br /> <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: PDO::__construct(): in C:\wamp\www\projetLaPaire\dbConnect.php on line <i>24</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.2268</td><td bgcolor='#eeeeec' align='right'>147384</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\projetLaPaire\logInTest.php' bgcolor='#eeeeec'>..\logInTest.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>21.8945</td><td bgcolor='#eeeeec' align='right'>151784</td><td bgcolor='#eeeeec'>dbConnection( )</td><td title='C:\wamp\www\projetLaPaire\logInTest.php' bgcolor='#eeeeec'>..\logInTest.php<b>:</b>17</td></tr> <tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>21.8946</td><td bgcolor='#eeeeec' align='right'>152872</td><td bgcolor='#eeeeec'><a href='http://www.php.net/PDO.construct' target='_new'>__construct</a> ( ???, ???, ???, ??? )</td><td title='C:\wamp\www\projet\dbConnect.php' bgcolor='#eeeeec'>..\dbConnect.php<b>:</b>24</td></tr> </table></font> {"message":"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. "}"
Même si le message d'erreur est bien au format JSONMa question est comment nettoyer au niveau serveur (PHP) la variable retournée via echo pour n'avoir que mon message d'erreur au format JSON{"message":"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. "}"Merci pour vos retours{"message":"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. "}"
Partager