$string="1. Tim Moltzen, 2. Joel Reddy, 3. Blake Ayshford, 4. Chris Lawrence, 5. James Tedesco, 6. Benji Marshall, 7. Braith Anasta, 8. Aaron Woods, 9. Robbie Farah, 10. Jack Buchanan, 11. Bodene Thompson, 12. Liam Fulton, 13. Adam Blair, 14. Ben Murdoch Masila, 15. Ava Seumanufagai 16. Matt Bell, 17. Eddy Pettybourne";
$string=explode(', ',$string);
foreach($string as $val)
{
$val=explode('. ',$val);
mysql_query('INSERT INTO yourtable (col_number,col_name) VALUES ("'.$val[0].'.","'.$val[1].'")';
}
Não entendo por que você deseja inserir o período junto com o número, pois isso significaria que a coluna deve ser desnecessariamente varchar em vez de INT. De qualquer forma, é como você pediu.
Alterar
mysql_query
para mysqli_query
se você preferir. Para explodir entre números, use:
$string=preg_split('/ ?[0-9]+\.? /', $string, NULL, PREG_SPLIT_NO_EMPTY);
Mas agora você não tem nenhum número para cada nome. Portanto, você não poderá inseri-lo assim.