Bug #18149 Updated: INSERT/SELECT doesn't return resource, prevents any further queries

From: Date: Wed, 03 Jul 2002 18:43:07 +0000
Subject: Bug #18149 Updated: INSERT/SELECT doesn't return resource, prevents any further queries
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-13024@lists.php.net to get a copy of this message
ID: 18149 Updated by: mhackett@ese.ogi.edu Reported By: mhackett@ese.ogi.edu Status: Open Bug Type: MSSQL related Operating System: Windows 2000 Server PHP Version: 4.2.1 New Comment: By the way, I originally was testing this on Apache 2.0.39, but also tried it on the latest 1.3 and encountered the same problem. Previous Comments: ------------------------------------------------------------------------ [2002-07-03 14:41:22] mhackett@ese.ogi.edu When I do an INSERT statement that has a SELECT @@IDENTITY at the end, the result is not a resource, but just 1. I suppose that would make sense for an INSERT-only query, but this should be returning a resource for the result. (Transact SQL, the SQL flavor Microsoft SQL Server is powered by, has a special variable @@IDENTITY which returns the last primary key insert). This alone seems to me to be a bug, but the bigger problem comes next. As sson as I attempt to execute any more queries, either on the same page, or on any others, even if I start a new browser session, PHP chokes. mssql_connect() or _pconnect() returns no error, but any query or mssql_select_db() fails. This continues until I restart Apache. I've done a trace on the SQL server, and it shows that the last command (the INSERT ... SELECT @@IDENTITY) succeeds, but PHP subsequently stops sending commands. Even when PHP has apparently connected, the Enterprise Manger and trace show no new connections or USE statements. Here is a test snippet I used: mssql_pconnect(DB_DSN, DB_USER, DB_PASS); mssql_select_db('cmxreg'); $ret = mssql_query("INSERT INTO Users (UserName) VALUES ('sql_test') SELECT @@IDENTITY AS UserID"); echo $ret.'<br />'; echo mssql_result($ret, 0, 'UserID'); And the error message for the first run: Warning: mssql_result(): supplied argument is not a valid MS SQL-result resource in C:\SiteData\htdocs\regadmin\test.php on line 8 And subsequent runs: Warning: MS SQL: Unable to select database: cmxreg in C:\SiteData\htdocs\regadmin\test.php on line 5 Warning: MS SQL: Query failed in C:\SiteData\htdocs\regadmin\test.php on line 6 Warning: mssql_result(): supplied argument is not a valid MS SQL-result resource in C:\SiteData\htdocs\regadmin\test.php on line 8 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18149&edit=1

« previous php.bugs (#13024) next »