fixed fetchAllColum to handle empty result