Mechanics have no idea what's wrong with my car. PLEASE HELP!

In the past 2 weeks this has happened 3 times:
I have a 2002 Mazda Protégé 5 with 115000 miles.
I'll be driving and I can start to feel my car or engine shake so I pull over and slow down and when I get under 15 mph the whole engine starts shaking, the check engine light flashes. I turn it off for about 3 minutes turn it back on. WORKS FINE! The check engine light still stays on. So I took it to autozone they ran the code and it was P0300: cylinder misfires. They said to change sparkplugs check wires. I did that changed the spark plugs, they definitley needed to be changed. Then took it to a mechanic and he said he drove it couldn't find anything mechanical wrong with it and suggested that I have bad fuel. So I bought some fuel injectors and the problem keeps happening. ANY IDEAS?