Some things that can cause canker sores:
1) Eating foods with too much acid. Orange juice is a big one.
2) Acquiring one of the herpes viruses, which is responsible for canker sores. Most people, if they acquire the virus that causes canker sores in their mouths, are deficient in the amino acid L-Lysine. I am not sure if this is given to a child, or if it is, how much can be given. However, a naturopathic doctor can test your son and, if he's deficient in L-Lysine, can tell you how much to give him.
3) Another area in which people acquire a lot of canker sores is if they have problems digesting the gliadin protein, known as gluten in wheat, rye, barley, and oats (if they're cross-contaminated with wheat), along with all the subspecies in the wheat family, of which there are several. While only about 2% of the population tests positive for Celiac disease, up to 40% actually have what is called Gluten Intolerance. If this is your son's problem, only strict avoidance of anything made with gluten with make the canker sores stay away. A naturopathic doctor can test your son to see if he has the antibodies for gliadin/gluten, and they can also test at the same time for food intolerances.
Prescription medications for ear infections generally do not cause canker sores.
My daughter used to get these, I get them once in a great while, and my husband gets them all the time. My husband and I both have the herpes virus that causes canker sores. My husband is very affected by orange juice, and any time he drinks some, he gets a big canker sore in his mouth. My husband, my daughter, and myself have all tested positive for gliadin/gluten intolerance. If we stay away from eating anything with wheat protein, we don't get canker sores.
I hope some of this information is helpful. Canker sores are very painful. I hope you find the source/cause of the
problem so you can help your son. I'd put my money into taking him to see a naturopathic doctor and being tested. You'll be thankful you did.
Good luck.