Mysql
 sql >> Base de données >  >> RDS >> Mysql

la requête mysql ne renvoie parfois rien

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.