RETURN_FALSE;
}
- if ((num_fields = dbnumcols(mssql_ptr->link)) <= 0) {
+ if ((num_fields = dbnumcols(mssql_ptr->link)) <= 0 && !dbdataready(mssql_ptr->link)) {
RETURN_TRUE;
}
result->mssql_ptr = mssql_ptr;
result->cur_field=result->cur_row=result->num_rows=0;
- result->fields = (mssql_field *) emalloc(sizeof(mssql_field)*result->num_fields);
- result->num_rows = _mssql_fetch_batch(mssql_ptr, result, retvalue TSRMLS_CC);
+ if (num_fields > 0) {
+ result->fields = (mssql_field *) emalloc(sizeof(mssql_field)*result->num_fields);
+ result->num_rows = _mssql_fetch_batch(mssql_ptr, result, retvalue TSRMLS_CC);
+ }
ZEND_REGISTER_RESOURCE(return_value, result, le_result);
}