| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
|
Gracias de antemano.
Necesito interpretar desde un script en php, el código php que guardo en una tabla de MSQL.
Pongo un ejemplo:
$Link_ID = @mysql_connect($Host, $User, $Password);
mysql_select_db($Basedatos, $Link_ID);
$sql = " SELECT * FROM nombre_tabla WHERE id = 1" ;
$Query_ID = @mysql_query($sql, $Link_ID);
$Datos = @mysql_fetch_array($Query_ID);
echo $Datos[codigo] ;
/*
el valor que hay en $Datos[codigo] es:
for($i=0; $i < 10; $i++)
echo $i;
*/
Evidentemente al hacer echo $Datos[codigo] ; lo que sucede es que pinte en pantalla el código del bucle no lo ejecuta, y ese es precisamente lo que quiero.
Gracias por vuestra ayuda.
La FAQ Como ejecutar código php se que encuentra almacenado en una tabla de mysql tiene Pertenece a la categoría:
Comentarios de los visitantes
Comentario de PedroPezunas
18/11/08
Puede serte util:
http://boozox.net/php/formas-de-ejecutar-funciones-en-php/ Comentario de MOCMikat
18/11/08
PHP te permite ejecutar tanto líneas de código como funciones contenidas dentro de cadenas, y por lo tanto dentro de arreglos.
Para ello se necesita utilizar la función eval(), ya que ella se encarga de evaluar y ejecutar en el caso posible el contenido de la cadena que se le pase como parámetro. Un detalle a tomar en cuenta, es que todo el código ejecutado con eval() pasa a formar parte del script actual, por lo tanto si se requiere usar una función en una cadena básta con realizar un eval a la misma y posteriormente llamarla como si de una función escrita se tratara. Un ejemplo sería el siguiente: <?php $codigo_php = array( "for ( $i=0; $i<5; $i++ ) { echo "=> prueba de ejecución de lineas..."; }", "function prueba() { echo "=> prueba de ejecución de función..."; }", "function pruebas( $mensaje ) { echo "=> $mensaje : prueba de ejecución de función..."; }" ); echo "<br>"; echo $codigo_php[0]; echo "<br>"; eval( $codigo_php[0] ); echo "<br>"; echo "<br>"; echo $codigo_php[1]; echo "<br>"; eval( $codigo_php[1] ); prueba(); echo "<br>"; echo "<br>"; echo $codigo_php[2]; echo "<br>"; eval( $codigo_php[2] ); pruebas("mensaje"); echo "<br>"; ?> Para una mayor información del uso de la función interna de PHP eval() te remito a la documentación del mismo: http://mx2.php.net/manual/es/function.eval.php Comentario de HectorWeb
18/11/08
Que mas.
para poder ejecutar un codigo php que sacas de la BD debes ponerle la funcion eval(); esta funcion evalua una cadena como codigo php. esto puede ser útil para almacenar código en un campo de texto en una base de datos para su ejecución posterior. Para ver más FAQ relacionadas accede a las categorías: |
|
||||||||||
| Complementar la respuesta | |
| Volver al árbol de categorías |
| DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia | ||||