diff options
| -rw-r--r-- | phpBB/includes/acp/acp_database.php | 17 | 
1 files changed, 9 insertions, 8 deletions
| diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 86879de816..8afc3709b9 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -1607,16 +1607,17 @@ class mssql_extractor extends base_extractor  			return;  		} -		$sql = "SELECT * FROM $table_name"; -		$result_fields = $db->sql_query_limit($sql, 1); - -		$row = new result_mssqlnative($result_fields); -		$i_num_fields = $row->num_fields(); +		$sql = "SELECT COLUMN_NAME, DATA_TYPE +			FROM INFORMATION_SCHEMA.COLUMNS +			WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = '" . $db->sql_escape($table_name) . "'"; +		$result_fields = $db->sql_query($sql); -		for ($i = 0; $i < $i_num_fields; $i++) +		$i_num_fields = 0; +		while ($row = $db->sql_fetchrow($result_fields))  		{ -			$ary_type[$i] = $row->field_type($i); -			$ary_name[$i] = $row->field_name($i); +			$ary_type[$i_num_fields] = $row['DATA_TYPE']; +			$ary_name[$i_num_fields] = $row['COLUMN_NAME']; +			$i_num_fields++;  		}  		$db->sql_freeresult($result_fields); | 
