Sometimes a code Dan say one thing that Dan be caused by another thing. For example my friends car said the esc was wring but the book said that could be a code caused by the knock sensor. You put in a new sensor and the problem is still there so it could be something else. Too bad I can't put my scan tool on it and see what codes come up for myself.
ask a local mechanic to inspect it, if its an easy fix then buy the part and do it yourself. if its something big like a valve not opening because of a broken cam or a differential gear broke. have the mechanic do it. a real mechanic shop.
You need an actual Service Dept. A check eng lgt can mean many things. A sensor, a freyed wire, a bad code. Autozone can diag. only. If you go by them, you take a chance & it could cost you more money.