le 'curseur' PDO par défaut est PDO::CURSOR_FWDONLY cela signifie que le curseur ne peut pas revenir à zéro comme cela se produit avec mysql_data_seek pour permettre au curseur de revenir à zéro, il est nécessaire de définir l'utilisation du "curseur défilant"
exemple :
$db->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
avant de l'utiliser comme ceci :
$row0 = $result->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 0);