Thanks for your comments, I was just coming back to say that I've solved my own problem.. I was calling another method during the loop which was interfering with the database and causing me issues..
As spotted, I also wasn't using my ArrayLists in the loop correctly. I've already been using prepared statements but neglected to do so here, I'll update that. Thanks again.
