I'm not all that familiar with PHP and MySQl but this is how I would go about it.
First I would create a datatable for all players in a room and their status (just chillin or looking for a fight).
Then link the room table to another table that contains challenge requests that links the player ids for two players in the room datatable.
You could then query the challenge table every few seconds to see if anyone is trying to pick a fight with the current player and prompt the player with any spending fight requests. If a player accepts the request then you can delete all requests that are linked to the player or if they refuse the request you can just delete the request that you showed the user.
As for the actual fighting, I guess I would create a temporary table that stores player actions (a row would have something like a player id, move id, and random value for determining what the move does (status effect applied, damage done, or whatever just use the random number to figure out what happens playerside, don't store the result of a move in the table because that would just complicate things. The random value should be enough for producing the same result on both players game). As long as you keep querying the table at regular intervals and checking who made the last move it should be pretty simple.
All that being said, I'd have to agree with eBusiness in that PHP/MySQL might not be the best combo for a multiplayer game. You are more than welcome to try and use it as a learning experience if things don't work out well. Just don't beat yourself up if you can't make things work the way you want them to exactly.