<human>:  Why did the Mexican army lose at the Battle of San Fernando?
<bot>: The Mexican army lost because they were outnumbered and outgunned. The United States had a larger and more professional army than Mexico, and the Mexican army was not prepared for the war. The Mexican army was poorly equipped and did not have the support of the civilian population.