Bug #52414 [Opn->Fbk]: warning catch by php before PDOException

From: Date: Fri, 15 May 2015 12:23:04 +0000
Subject: Bug #52414 [Opn->Fbk]: warning catch by php before PDOException
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-192676@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=52414&edit=1 ID: 52414 Updated by: cmb@php.net Reported by: draeli at draeli dot com Summary: warning catch by php before PDOException -Status: Open +Status: Feedback Type: Bug Package: PDO Core Operating System: Windows XP SP3 PHP Version: 5.3.3 Block user comment: N Private report: N New Comment: This issue (warning + exception) appears to have been fixed in the meantime (at least as of PHP 5.4.19). Can you confirm, please? Previous Comments: ------------------------------------------------------------------------ [2010-10-02 16:16:05] draeli at draeli dot com I'm ok with you, "The fatal error is standard PDO behaviour.", that's right but my problem isn't this message but 'warning' who appear before as say in my first message. ------------------------------------------------------------------------ [2010-09-27 11:10:50] uw@php.net Not MySQL specific, if at all a bug. Second opinion needed. ------------------------------------------------------------------------ [2010-08-26 11:15:07] uw@php.net I do not understand. The fatal error is standard PDO behaviour. Its because you do not catch the exception thrown by PDO. You get the very same error, for example, with SQLite: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [14] unable to open database file' in /home/nixnutz/php/php-src/branches/PHP_5_3/pdo.php:2 Stack trace: #0 /home/nixnutz/php/php-src/branches/PHP_5_3/pdo.php(2): PDO->__construct('sqlite:/opt/dat...') #1 {main} thrown in /home/nixnutz/php/php-src/branches/PHP_5_3/pdo.php on line 2 ------------------------------------------------------------------------ [2010-07-23 11:29:04] draeli at draeli dot com Description: ------------ I catch all PHP error to do my own behavior error but with this case (test out of the other code), when server is down, PHP catch an error (here a Warning) and only after catch a PDOException. I think that an error because error message or same in two cases and too, if an Exception is launch, why do an PHP error ? Test script: --------------- <?php $arrDriverOption = array(); $arrDriverOption[ \PDO::MYSQL_ATTR_INIT_COMMAND ] = 'SET NAMES UTF8'; $arrDriverOption[ \PDO::ATTR_TIMEOUT ] = 2; new \PDO('mysql:host=localhost;port=3307;dbname=mydb', 'root', 'r', $arrDriverOption); Expected result: ---------------- Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu. ' in C:\Serveur\Apache2\htdocs\test\__web\index2.php:5 Stack trace: #0 C:\Serveur\Apache2\htdocs\test\__web\index2.php(5): PDO->__construct('mysql:host=loca...', 'root', 'r', Array) #1 {main} thrown in C:\Serveur\Apache2\htdocs\test\__web\index2.php on line 5 Actual result: -------------- Warning: PDO::__construct() [pdo.--construct]: [2002] Une tentative de connexion a échoué car le parti connecté n'a pa (trying to connect via tcp://localhost:3307) in C:\Serveur\Apache2\htdocs\test\__web\index2.php on line 5 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu. ' in C:\Serveur\Apache2\htdocs\test\__web\index2.php:5 Stack trace: #0 C:\Serveur\Apache2\htdocs\test\__web\index2.php(5): PDO->__construct('mysql:host=loca...', 'root', 'r', Array) #1 {main} thrown in C:\Serveur\Apache2\htdocs\test\__web\index2.php on line 5 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=52414&edit=1

« previous php.bugs (#192676) next »