Hai fatto un copia/incolla preciso del codice che esegui realmente oppure hai tolto/modificato qualcosa per postare qui sul forum?
Scritto così sembrerebbe corretto.

Una domanda che esula dal problema, $sql5 ti restituisce sempre e solo 1 record? In tal caso perché usi un ciclo while per estrarlo? Non ha niente da ciclare se c'è solo un record, è uno spreco di risorse. Usa semplicemente mysqli_fetch_array() senza il while.