Questa riga non mi convince molto...
while($row = $result->fetch_array(MYSQLI_ASSOC)) {

Devi fare l'array sulla query eseguita. Che centra mysqli?
while($row = mysql_fetch_array($result)) {

Poi togli tutti gli @, così vedi se qualcosa ti crea errore.