Hola,
Supongo que haces el insert o el update con '$campo_form'. Esto lo transforma PHP en 'texto con ' dentro de el' y se lo pasa a MySQL. MySQL toma las ' como limite de campo de texto, por lo que entiende la cadena 'texto con ' y el resto le da error por no ser sintaxis valida.
La solucion es escapar la cadena que vas a introducir en la BD. Tienes funciones como addslashes() (
www.php.net/addslashes) o mysql_escape_string() (
www.php.net/mysql_escape_string). Luego cuando leas de la BD debes desescapar con stripslashes() (
www.php.net/stripslashes).
Pero (siempre hay un pero) dependiendo de la configuracion de PHP (en concreto de magic_quotes_gpc y magic_quotes_runtime), puede que estes escapando 2 veces el campo del formulario y solo desescapandolo 1. Si magic_quotes_gpc esta a on, se escapan automaticamente los valores recibidos por GET, POST y COOKIES, con lo que no es necesario escapar los valores antes de meterlos en la BD, pero si desescaparlos. Si esta a off, debes escaparlos y desescaparlos.
Espero haber sido de ayuda.