la mejor opcion desde un principio es usar mysqli o PDO con prepared statements y nunca filtraras una variable 
la segunda opcion es simplemente escapear todo con mysql_real_escape_string()
por ultimo al imprimirlo siempre utilizar htmlentities() si no quieres imprimir codigo para que sea interpretado por el navegador

la segunda opcion es simplemente escapear todo con mysql_real_escape_string()
por ultimo al imprimirlo siempre utilizar htmlentities() si no quieres imprimir codigo para que sea interpretado por el navegador

prueba haciendo benchmarking en local siguiendo el articulo de tifa, dependiendo del tamaño de tu proyecto pueden significar nada o mucho unas centesimas de segundos, que seria la diferencia entre una configuracion y la otra
me recuerda unos talleres que tengo pendientes y probablemente nunca veran luz jajaja