Czy próbowałeś mysql_ping()
?
Aktualizacja: Od PHP 5.5 i nowszych użyj mysqli_ping() zamiast tego.
Alternatywnie, drugim (mniej niezawodnym) podejściem byłoby:
$link = mysql_connect('localhost','username','password');
//(...)
if($link == false){
//try to reconnect
}