|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-11-22 09:56 UTC] lars dot roessiger at gmail dot com
[2006-11-22 10:11 UTC] lars dot roessiger at gmail dot com
[2014-12-29 01:05 UTC] kalle@php.net
-Status: Assigned
+Status: Open
-Assigned To: fmk
+Assigned To:
[2016-10-15 23:09 UTC] kalle@php.net
-Status: Open
+Status: Wont fix
[2016-10-15 23:09 UTC] kalle@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 13:00:01 2025 UTC |
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).