Prueba rápida:
Código PHP:
$expresion = 'Algo"';
eval("\$str = \"$expresion\";");
echo $str;
Genera un parse error, y un notice (puesto que $str no se define), así, a bote pronto.
Y eso que solo ha sido una prueba!
Tampoco sabes
100% seguro si los datos de la bbdd son fiables o no, si están bien escapados o no, si incluyen caracteres que provoquen una salida inesperada....
Y, por cierto, segun el manual:
Código:
aution
The eval() language construct is very dangerous because it allows execution of arbitrary PHP code. Its use thus is discouraged. If you have carefully verified that there is no other option than to use this construct, pay special attention not to pass any user provided data into it without properly validating it beforehand.