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

La requête Mysql SELECT a fonctionné, ne fonctionne plus 2 minutes plus tard (sans modifications)

Après avoir chargé le résultat, vous devez vérifier s'il a réussi. Parce qu'il y a toujours une possibilité que le serveur soit parti ou qu'il n'y ait pas de connexions libres disponibles.

Si tel est le cas, alors mysqli_query renverra false , qui semble être le comportement que vous rencontrez.

$username = mysqli_real_escape_string($username);
$id4 = mysqli_real_escape_string($id4);

$stuff_get = mysqli_query($con,
    "SELECT users.id, users.email, users.hash, users.username
     FROM users
     WHERE 
         users.username = '$username' 
         AND users.id=$id4");

if ($stuff_get)
{
    $gotstuff = mysqli_fetch_array($stuff_get, MYSQL_ASSOC);
}
else
{
    throw new \Exception('Could not retrieve result.');
}

(REMARQUE :j'échappe vos paramètres avant d'exécuter la requête… juste pour m'assurer qu'il n'est pas oublié lorsque quelqu'un copie/colle le code. Au fait, vous pourriez envisager de passer à des instructions préparées… beaucoup plus faciles à utiliser et beaucoup plus sûres.)