Con respecto a eval(),
como dice el manual: eval te permite ejecutar codigo PHP arbitrario y por lo visto tu MySQL ya es vulnerable a inyecciones SQL y esta mas que claro que no estas validando los datos enviados por el usuario.
Que pasaría si un usuario, en lugar de enviarte
Te envía
Código PHP:
Ver original$_POST['nombre'] = "shell_exec('rm -rf ~')";
y luego utilizas
Lo que PHP realmente entiende es:
O en otras palabras, PHP le esta diciendo al sistema que borre todos los archivos de la carpeta "home" del usuario que ejecuta php (generalmente el usuario apache en linux).
Por eso es que eval() es un comando peligroso y no se debe usar a menos de que estes 100% seguro de que nadie te va a borrar archivos.