Ce qu'il faut que tu mettes en cache c'est le résultat de la requête, et non pas l'objet PDOStatement.
Pour récupérer tous les résultats de ta requête fait comme ceci :
$stmt = $pdo->prepare('ta requete sql');
$stmt->execute();
$results = $stmt->fetchAll();
Et ensuite tu mets
$results en cache.
Note que je ne suis pas convaincu de l'utilité d'un cache fichier pour les requêtes SQL, puisque tu remplaces des accès à ta base par des accès fichiers ce qui n'est pas forcément terrible. Si tu en as la possibilité, utilise plutôt un cache en RAM du genre Memcache ou Redis, ou alors revoit tes index si tes requêtes sont trop lentes.
++
Ce qu'il faut que tu mettes en cache c'est le résultat de la requête, et non pas l'objet PDOStatement.
Pour récupérer tous les résultats de ta requête fait comme ceci :
[php]$stmt = $pdo->prepare('ta requete sql');
$stmt->execute();
$results = $stmt->fetchAll();[/php]
Et ensuite tu mets [b]$results[/b] en cache.
Note que je ne suis pas convaincu de l'utilité d'un cache fichier pour les requêtes SQL, puisque tu remplaces des accès à ta base par des accès fichiers ce qui n'est pas forcément terrible. Si tu en as la possibilité, utilise plutôt un cache en RAM du genre Memcache ou Redis, ou alors revoit tes index si tes requêtes sont trop lentes.
++