Codice PHP:
//sostituisci
$messaggio=str_replace($patterns, $replacements, $string);
//con
$messaggio=mysql_real_escape_string(str_replace($patterns, $replacements, $string));
il problema sta nel fatto che utilizzi l'apice per racchiudere il valore nella stringa SQL, ma lo utilizzi anche nelle stringhe HTML. Senza un escape, il primo apice nella stringa HTML viene interpretato come chiusura del valore della stringa SQL, il che causa la presenza di simboli non appartenenti o non conosciuti a SQL e il consegunete errore.