The fetch() method only returns a single record and sets the internal pointer to point to next record. You are expecting from this method what it cannot return.
Perhaps try a different method like fetchAll:
http://php.net/manual/en/pdostatement.fetchall.php
prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>