PCA on MNIST dataset results in very poor performance
There are a few thing that you may be doing, but worth mentioning. 

Did you "whiten" your data---mean center and normalize by the standard deviation? This step may be implementation-dependent.
http://deeplearning.stanford.edu/wiki/index.php/PCA

Did you check to see how much variablility was explained by the number of chosen parameters? For images +80% is common. 

Make sure you understand the implementation of the PCA you are using. It always confuses me by the terminology different implementations uses, e.g. score, rotation, etc. I suggest following a tutorial and matching their output with your implementation to get a deeper understanding.
http://sebastianraschka.com/Articles/2015_pca_in_3_steps.html

Your model is now built on transformed data. To predict make sure you are using these same transformations on the new input data.