Mysql
 sql >> Database >  >> RDS >> Mysql

La query Mysql SELECT ha funzionato, ora non funziona dopo 2 minuti (senza modifiche)

Dopo aver caricato il risultato, è necessario verificare se ha avuto successo. Perché c'è sempre la possibilità che il server sia andato via, o non ci siano connessioni libere disponibili.

Se questo è il caso, allora mysqli_query restituirà false , che sembra essere il comportamento che stai riscontrando.

$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.');
}

(NOTA:sto eseguendo l'escape dei tuoi parametri prima di eseguire la query … solo per essere sicuro che non venga dimenticato quando qualcuno copia/incolla il codice. A proposito, potresti considerare di passare a istruzioni preparate … molto più facile da usare e molto più sicuro.)