recherche de php "l'argument fourni n'est pas une ressource de résultat mysql valide" révèle que pour obtenir l'erreur réelle, vous devez appeler mysql_error, et l'erreur que vous obtenez est due au fait que le résultat de la requête est FALSE - cette valeur n'étant pas une ressource de résultat mysql valide.
c'est-à-dire en bref, vous avez quelque chose comme :
$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.
Donc, vous voudriez utiliser quelque chose comme ceci :
$query = "SELECT * FROM cats WHERE id=$id";
$qr1 = mysql_query ($query)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query);
Vous voudrez peut-être essayer et voir ce que dit le message d'erreur sous-jacent.
Étant donné que l'erreur est "le serveur MySQL est parti", il peut y avoir une multitude de raisons à cela - cet article serait un bon début d'enquête. Recherche suggère également quelques bogues liés à php et spécifiques à la pile, il semble donc que vous devrez peut-être le déboguer avec une plus grande attention.
Essayez peut-être de dupliquer la configuration sur une autre boîte, puis commencez à expérimenter les versions/paramètres, et voyez si l'un des scénarios déjà signalés correspond à votre cas. Malheureusement, il semble qu'il n'y ait pas de réponse simple et unique à cela.