MySQL caches queries by default depending upon size (see my.cnf). Does this answer your question. Or are you talking about caching in a different sense? PHP shouldn't come into it really, unless you're talking about html page caching (after PHP processing), in which case you should really be talking about apache and not PHP/MySQL.