Fixed it! Told you I was smart!!
It turned out to be the ‘localhost’. If anyone else has this issue, check when you set up your mySQL database if the webserver has a name. In my case it did, but because I saw ‘localhost’ too, I assumed that was fine – clearly it wasn’t. As soon as I entered the proper name it was fine. Only 2 days wasted…