ID: 33153 Updated by: [EMAIL PROTECTED] Reported By: erudd at netfor dot com -Status: Assigned +Status: Closed Bug Type: MSSQL related Operating System: FC3/FC4/MDK 10.2 x86 & x86_64 PHP Version: 4.3.11 Assigned To: fmk New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2005-10-17 21:56:55] erudd at netfor dot com Patch based on PHP_5_0 head branch applies to php 5.0.4 and php 4.3.10. tested and works with every I could throw at it (32 bit and 64 bit) Index: php_mssql.c =================================================================== RCS file: /repository/php-src/ext/mssql/php_mssql.c,v retrieving revision 1.137.2.9 diff -u -r1.137.2.9 php_mssql.c --- php_mssql.c 12 Apr 2005 17:46:06 -0000 1.137.2.9 +++ php_mssql.c 14 Oct 2005 23:02:42 -0000 @@ -1829,10 +1829,15 @@ WRONG_PARAM_COUNT; } ZEND_FETCH_RESOURCE(result, mssql_result *, mssql_result_index, -1, "MS SQL-result", le_result); mssql_ptr = result->mssql_ptr; retvalue = dbresults(mssql_ptr->link); + + while (dbnumcols(mssql_ptr->link) <= 0 && retvalue == SUCCEED) { + retvalue = dbresults(mssql_ptr->link); + } + if (retvalue == FAIL) { RETURN_FALSE; } ------------------------------------------------------------------------ [2005-08-09 16:17:35] freddyz77 at tin dot it Problem here is that in mssql_next_result PHP do not ignore recordset without columns in mssql_query /* Skip results not returning any columns */ while ((num_fields = dbnumcols(mssql_ptr->link)) <= 0 && retvalue == SUCCEED) { retvalue = dbresults(mssql_ptr->link); } in mssql_execute /* Skip results not returning any columns */ while ((num_fields = dbnumcols(mssql_ptr->link)) <= 0 && retval_results == SUCCEED) { retval_results = dbresults(mssql_ptr->link); } but there is no such loop in mssql_next_result freddy77 ------------------------------------------------------------------------ [2005-08-03 18:56:54] erudd at netfor dot com Any updates on this issue? (Mandrake Bug #) http://qa.mandriva.com/show_bug.cgi?id=17272 ------------------------------------------------------------------------ [2005-06-28 18:54:00] erudd at netfor dot com I have tried the latest CVS code for the php-mssql extension and the same results occur.. I updated to the lastest on the 0.63 branch of freetds and apache/php no longer segfault, but PHP never advances to the next result set. ------------------------------------------------------------------------ [2005-05-30 10:31:51] freddyz77 at tin dot it dblastrow should not fail, this is certainly a FreeTDS bug. Fixed in CVS, expect a new 0.63.1 release. However I don't understand why PHP calls dblastrow (related to dblib buffering). freddy77 (FreeTDS developer) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33153 -- Edit this bug report at http://bugs.php.net/?id=33153&edit=1