Loading the essentials…
The page is ready first. More details follow section by section.
Loading the essentials…
The page is ready first. More details follow section by section.
Loading career facts and season results…
Effective/recorded date:
Shows completed, effective transfers. Missing matches or high age do not establish retirement. Club registration does not guarantee a current contract.
| Season | Team | Competition | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Woking | 6 | 570 | 2 | 1 | 0 | 1 | 0 | |||
| Yeovil Town | 1 | 90 | — | — | — | 0 | 0 | |||
| Yeovil Town | 1 | 90 | 3 | 1 | 0 | 0 | 0 | |||
| Yeovil Town | 34 | 3,060 | — | — | — | 5 | 0 | |||
| Ross County | 1 | 90 | — | — | — | 0 | 0 | |||
| Ross County | 13 | 1,170 | 30 | 23 | 2 | 1 | 0 | |||
| Accrington ST | 1 | 90 | — | — | — | 0 | 0 | |||
| Accrington ST | 16 | 1,387 | 51 | 14 | 2 | 0 | 0 | |||
| Hull City | 16 | 1,440 | 65 | 17 | 0 | 2 | 0 | |||
| Hull City | 1 | 120 | 4 | 3 | 0 | 0 | 0 | |||
| Hull City | 1 | 120 | 4 | 1 | 0 | 0 | 0 | |||
| Hull City | 12 | 1,080 | 30 | 21 | 0 | 1 | 0 | |||
| Watford | 20 | 1,080 | 30 | 21 | 0 | 1 | 0 | |||
| Bolton | 4 | 360 | — | — | — | 0 | 0 | |||
| Bolton | 1 | 44 | 3 | 2 | 0 | 0 | 0 | |||
| Bolton | 36 | 3,240 | 95 | 39 | 1 | 6 | 0 | |||
| Bolton | 26 | 2,483 | 67 | 43 | 0 | 4 | 0 | |||
| Watford | 7 | 629 | 11 | 9 | 0 | 0 | 0 | |||
| Watford | 1 | 90 | 2 | 5 | 0 | 0 | 0 | |||
| Leyton Orient | 1 | 95 | 2 | 0 | 0 | 0 | 0 | |||
| Leyton Orient | 9 | 828 | 24 | 2 | 0 | 0 | 0 | |||
| Recorded totals | 208 | 18,156 | 423 | 202 | 5 | 21 | 0 | |||
21 rows · A dash means unknown. Totals count recorded values. GA = goals conceded; PS = penalties saved. Estimated average rating. Uses rated matches where known, otherwise appearances in each competition.
Club and international season statistics · W–D–L: 4 recorded results · Form: latest club and international appearances