buscando php "el argumento proporcionado no es un recurso de resultado mysql válido" revela que para obtener el error real, debe llamar a mysql_error, y el error que obtiene se debe a que el resultado de la consulta es FALSO:este valor no es un recurso de resultado de mysql válido.
es decir, en resumen, tienes algo como:
$res = FALSE; # should contain the mysql result but does not, due to error.
$cfg = htmlspecialchars(mysql_result($res,0)); # the attempt to call mysql_result on invalid argument errors out.
Así que querrás usar algo como esto:
$query = "SELECT * FROM cats WHERE id=$id";
$qr1 = mysql_query ($query)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query);
Es posible que desee intentarlo y ver qué dice el mensaje de error subyacente.
Dado que el error es "El servidor MySQL se ha ido", puede haber muchas razones para ello:este artículo sería un buen comienzo para investigar. Buscando sugiere también algunos errores relacionados con php y específicos de la pila, por lo que parece que es posible que deba depurarlo con más atención.
Tal vez intente duplicar la configuración en otra caja y luego comience a experimentar con las versiones/configuraciones, y vea si alguno de los escenarios ya informados coincide con su caso. Desafortunadamente, parece que no hay una sola respuesta simple para esto.