From: jwall at webpeak dot com
Operating system: Windows XP
PHP version: 5.0.5
PHP Bug Type: MSSQL related
Bug description: Changed database context error when SELECT > 33 columns
Description:
------------
PHP 5.05/Sybase 12.53/php_mssql.dll
When doing a SELECT with > 33 columns, error:
[Native Error: Changed database context to 'my_db'.]
If the SQL is input via isql it works with no errors.
Reproduce code:
---------------
$link=mssql_pconnect('10.37.3.20,11222','sa','');
mssql_select_db('my_db',$link);
// limit of 33 columns allowed in select (so this fails)
$result=mssql_query("SELECT pr_0_6.prRN, pr_0_6.prDO, pr_0_6.prAC,
pr_0_6.prCS, pr_0_6.prUS, pr_0_6.prHN, pr_0_6.prHS, pr_0_6.prSS,
pr_0_6.d22, pr_0_6.d23, pr_0_6.d24, pr_0_6.d53, pr_0_6.l13, pr_0_5.prRN,
pr_0_5.prDO, pr_0_5.prAC, pr_0_5.prCS, pr_0_5.prUS, pr_0_5.prHN,
pr_0_5.prHS, pr_0_5.prSS, pr_0_5.d20, pr_0_5.d21, pr_0_5.d74, pr_0_5.d177,
pr_0_5.d75, pr_0_5.d85, pr_0_5.d37, pr_0_5.d76, pr_0_5.d173, pr_0_5.d219,
pr_0_5.d143, pr_0_5.d40, pr_0_5.d38, pr_0_5.d39, pr_0_5.d272, pr_0_5.d273,
pr_0_5.d302 FROM pr_0_6, pr_0_5 WHERE pr_0_5.d21 LIKE 'A%' AND
pr_0_6.l13=pr_0_5.prRN");
if (!$result) {
plog('Could not execute query ' . mssql_get_last_message());
}
while($row=mssql_fetch_row($result)) {
plog("row: " . dumpVar($row));
}
mssql_close($link);
Expected result:
----------------
Expected results is a log with each results array for every record
returned. If I reduce the SELECT to < 34 then expected results are
returned.
Actual result:
--------------
A log indicating the error:
Could not execute query Changed database context to 'my_db'.
--
Edit bug report at http://bugs.php.net/?id=34784&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=34784&r=trysnapshot4
Try a CVS snapshot (php5.0):
http://bugs.php.net/fix.php?id=34784&r=trysnapshot50
Try a CVS snapshot (php5.1):
http://bugs.php.net/fix.php?id=34784&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=34784&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=34784&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=34784&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=34784&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=34784&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=34784&r=support
Expected behavior: http://bugs.php.net/fix.php?id=34784&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=34784&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=34784&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=34784&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=34784&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=34784&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=34784&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=34784&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=34784&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=34784&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=34784&r=mysqlcfg