El problema con la expresión regular de PHP insertando comillas simples en mysql
No utilice el filtrado de expresiones regulares, utilice barras invertidas: antes de ingresar a la base de datos, para fines de consulta de la base de datos, etc., agregue barras invertidas antes de ciertos caracteres para entrecomillar cadenas. Tales como: comillas simples ('), comillas dobles ("), barra invertida (\) y NUL (carácter NULL).
Código:
if (!get_magic_quotes_gpc()) {
$str=addslashes($str);
}
La $str procesada será segura de ingresar y no se producirán declaraciones SQL causadas por la inserción. Situación equivocada.