Una cosa che dovrei sottolineare è che non usi mysql_real_escape_string con dichiarazioni preparate.
Un'altra cosa è che $user-id non è un nome di variabile valido. Non puoi usare un trattino.
Modifica:
È una buona cosa attivare la segnalazione degli errori e generare mysqli /mysqli_stmt::$error quando qualcosa fallisce. La maggior parte dei problemi può essere risolta con questi.