prima di inserire i dati passa tutte la variabili che inserirai attraverso la funzione "mysql_real_escape_string" in questo modo tutti i caratteri che possono essere pericolosi o mal interpretati da mysql verranno correttamente escapati.

il problema succede perchè mysql quando trova un singolo apice lo interpreta come inizio o fine di una stringa spezzettando la tua query