Buongiorno, ho anche io un problma sulle stringhe con apostrofo. Devo poterle memorizzare (attraverso un campo descrizione presente in un form) su un DB MySQL.
Ho provato in diversi modi, con la funzione addslashes(), con str_replace(), e ora, dopo aver letto il questo post, con htmlspecialchars().
Ottengo sempre un errore.

[ PHP ]$sql="UPDATE progetti SET anno_rif='$_POST[anno]', committente='$_POST[committente]', data_incarico='$data_inc', data_consegna='$data_cons', dettaglio_progetto='$_POST[dettaglio_progetto]', data_inserimento=now()
WHERE codice_progetto='$_POST[progetto]'";[ /PHP ]

I campi interessati sono:
committente='$_POST[committente]'
dettaglio_progetto='$_POST[dettaglio_progetto]'

ho provato con
[ PHP ]committente=htmlspecialchars('$_POST[committente]')[ /PHP ]

Cosa sbaglio?