Ho usato la funzione string replace che sostituisce & e & prima di salvare i dati nel database, così ogni volta se nel form & viene interpretato come & nel database viene sempre salvato correttamente come &

$text = str_replace("&", "&", $text);

grazie per l'input!
ciao!