mucha gracias george! creo que la diferencia esk mysql_real_escape_string es más avanzada de la otra
Ambas tienen diferentes funciones, pero tienen parecidos fines, te digo el porque:
Usamos mysql_escape_string o mysql_real_escape_string para prevenir por ejemplo que cuando defines una variable por medio de $_GET es decir, por por la url del script, alguien con conocimientos puede darle valores a esta variable de tal manera que se ejecuten unas sentencias perjudiciales para tu base de datos y de esa manera te hacen inyeccion sql.
De otro lado, htmlentities(), lo que hace es no mostrar los códigos html, es decir, se usa para prevenir que variables que son definidas por algun formulario donde personas malintencionadas inserten códigos Html o Js con el fin de descuadrar el diseño de la página.
Sin embargo, estas dos funciones lo que tiene en comun es tener una ejecución de tu script más seguro.
Ese es mi concepto sobre esas dos, son ejemplos aplicados a mis scripts.
Saludos-.