Ponieważ tak zaprojektowano API, z myślą o elastyczności.
Twój obiekt nie zawiera wszystkich zbiorów danych. Zamiast tego PDOStatement
implementuje Iterator
/Traversable
interfejs, niejawnie wywołując ->fetch dla każdego foreach operacja.
Niektórzy jednak wolą używać ->fetch ręcznie lub ->fetchAll do ściągania wszystkich rzędów na raz.