m_r_e_s() RESTITUISCE il valore di escape, non modifica l'originale.
$int = mysql_real_escape_string($_POST['int']);
$query = "UPDATE ... interests = '$int' ...";
Nota che ho aggiunto virgolette intorno a int
nel valore POST. Senza le virgolette, PHP lo vede come un valore costante (ad es. define()). Se non trova una costante con quel nome, presume gentilmente che tu intenda utilizzare una stringa e regola di conseguenza, ma emette un avviso. Se l'avessi fatto
define('int', 'some totally wonky value');
in precedenza, avresti avuto accesso al valore POST sbagliato, perché PHP lo vedrebbe come $_POST[some totally wonky value]
invece.