En PHP ya existe una función que se encarga de escapar caracteres especiales de una cadena para su uso en una sentencia SQL:
mysql_real_escape_string();
19/9/07
Por: Nero
O si tenemos configurado nuestro php.ini con magic_quotes_gpc, automáticamente escapa caracteres en todo lo enviado por GET, POST, COOKIE