La funzione per effettuare le operazioni di messa in sicurezza dei dati passati nelle query da lanciare su mysql è mysql_real_escape_string, ne più ne meno

Poi, per comodità, i dati è meglio inserirli "puliti", nel senso che se php, a causa del flag magic_quote_gpc, effettua l'escape di tutti gli apici è meglio toglierli altrimenti succederà un gran casotto.

www.php.net/mysql_real_escape_string
www.php.net/stripslashes

il mio consiglio è anche quello di evitare di salvare nel database testo contenente le entità HTML perché nel database ci vanno i dati e questi, poi, vanno forniti al client, che in questo specifico caso è il browser, che "potrebbe" beneficiarne dall'avere le entità html ... però i dati nel database devono stare "puliti"