I am going to be making an online single player browser game. The online element is needed so that a player can login and store the state of their game. This will include things like what buildings have been made and where they have been positioned as well as the users personal statistics and achievements. At this point in time, I am expecting all of the game logic to be performed client side

So far, I am thinking I will use flash for creating the client side of the game. I am also creating a MySQL database to store all the users information.

My question is how do I connect the two. Presumably I will need some sort of server application which will listen for incoming requests from any clients, perform the SQL query and then return the data.

Does anyone have any recommendations of what technology/language to use?

If you don't have much experience with server-side programming and/or don't want to host your own server machine I can recommend Google App Engine - it's easy to use for this kind of application (see the datastore documentation) and scales nicely. The App Engine SDK allows you to run a test server locally in a simple manner.

I don't have any experience with Flash, but this blog entry gives an overview on how to connect with App engine.

You can have a look at http://www.smartfoxserver.com/
It's specifically designed for multiplayer applications, and if you have less than 100 concurrent connections, you even have a free Comunity Edition license.