Eh no
Il problema degli "hackeraggi" (SQL inection) in teoria rimane: uno può scrivere come nome utente:
'; DROP TABLE lista_utenti; SELECT '

Sostituisci $user con questa stringa, e vedrai cosa diventa. Ma se hai una versione non vecchissima di PHP questo tipo di attacco non funziona, perché mysqli_query() può lanciare solo una query alla volta.

Ma anche così ti consiglierei di finire la tua query con ;

Invece, per gestire l'apostrofo, dovresti sostituire "'" con "''" (doppio apostrofo) usando la funzione PHP str_replace().