ID: 39582 User updated by: lars dot roessiger at gmail dot com Reported By: lars dot roessiger at gmail dot com Status: Open Bug Type: MSSQL related Operating System: Windows Server 2003 PHP Version: 5.2.0 New Comment:
Tried to reproduce the problem on Linux with FreeTDS: "Unable to select database" with mssql_pconnect(). No problems with mssql_connect(). Error handler properly finishes. Previous Comments: ------------------------------------------------------------------------ [2006-11-22 09:35:16] lars dot roessiger at gmail dot com Description: ------------ Unexpected behaviour when SQL queries fail. Reproduce code: --------------- <? $db_host = ""; $db_user = ""; $db_pass = ""; $db_base = ""; function error_handler($errno, $errmsg) { echo $errmsg; exit(1); } // script will hang on sql error $dbconn = mssql_connect($db_host, $db_user, $db_pass); // refreshes will cause sql server to refuse selection of db //$dbconn = mssql_pconnect($db_host, $db_user, $db_pass); mssql_select_db($db_base, $dbconn); error_reporting(0); set_error_handler("error_handler"); if($_GET['error'] == "plain") trigger_error("Error", E_USER_ERROR); // produce error else if($_GET['error'] == "sql") mssql_query("SELECT asdf FROM asdf"); // produce sql error ?> Expected result: ---------------- mssql_connect(): On SQL error the script should not hang but finish. mssql_pconnect(): On SQL error further connection requests should not fail. Actual result: -------------- If an SQL error occurs, database connections established with mssql_pconnect() get lost. New connection requests fail with "mssql_select_db() [function.mssql-select-db]: Unable to select database". When using mssql_connect() instead of mssql_pconnect(), execution of the resp. PHP script will hang (up to 5 minutes). The error handler will finish its job, but PHP does not close the connection to the browser - it keeps "loading" (although no data is being sent anymore). ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39582&edit=1