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
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)
Même si le message d'erreur est bien au format JSON {"message":"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. "}"
Ma 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
Modifié par informer (26 Jun 2014 - 08:27)
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
$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)
<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 JSON {"message":"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. "}"
Ma 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
Modifié par informer (26 Jun 2014 - 08:27)