Zayn Malik has revealed he was "heartbroken" after being forced to cancel his Mexico concert due to severe food poisoning.