ID: 31745 Updated by: [EMAIL PROTECTED] Reported By: tril2632 at hotmail dot com -Status: Open +Status: Bogus Bug Type: MySQLi related Operating System: Linux Debian PHP Version: 5.0.3 New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Using exceptions doesn't mean that all warnings/notices/etc. are supressed. Previous Comments: ------------------------------------------------------------------------ [2005-01-28 16:27:52] tril2632 at hotmail dot com Description: ------------ Hello The problem is that exception are not catching connection problems when instanciate the mysqli class. Reproduce code: --------------- <?php /* Create custom exception classes */ class ConnectException extends Exception {} class QueryException extends Exception {} class example_mysqli extends mysqli { function __construct($adr, $login, $mdp, $nom_bd) { try{ /* Pass all arguments passed to the constructor on to the parent's constructor */ $args = func_get_args(); // OK if([EMAIL PROTECTED]::__construct($adr, $login, $mdp, $nom_bd)) if(!parent::__construct($adr, $login, $mdp, $nom_bd)) { throw new ConnectException(mysqli_connect_error(), mysqli_connect_errno()); } /* Throw an error if the connection fails */ if(mysqli_connect_error()){ throw new ConnectException(mysqli_connect_error(), mysqli_connect_errno()); } } catch (Exception $e) { throw new ConnectException(mysqli_connect_error(), mysqli_connect_errno()); } } function query($query) { $result = parent::query($query); if(mysqli_error($this)){ throw new QueryException(mysqli_error($this), mysqli_errno($this)); } return $result; } } try { $my = new example_mysqli('loclhost','root', '', 'test'); $result = $my->query("SELCT NOW()"); } catch(Exception $exception) { echo "Connection Error\n"; } catch(QueryException $exception) { echo "Query Error\n"; } /* Handle exceptions that we weren't expecting */ catch(Exception $exception) { echo "Who was that masked exception?\n"; } $result->close(); $my->close(); ?> Expected result: ---------------- it should print me "connection Error" Actual result: -------------- it always return this error : mysqli::mysqli() [function.mysqli]: Unknown MySQL server host 'loclhost' (11001) in c:\wamp\www\wmi\mysqli.php on line 16 Connection Error With exception php error should NOT be display only the message in the "catch" should appear ! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31745&edit=1