Pregunta:
Fecha: 09-10-2015 07:49:35
(En Español)
quisiera saber como hago para que me reconozca variables que tengo en la DB el php
en la DB tengo una variable que es <?=$ext?>
pero no me la reconoce como puedo hacer que me reconozca esa variable o otra que tenga??
pero solo las que yo quiera??
Salu2 Votos: 0 - Respuestas: 8 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
Reconocer PHP en consulta MySQLi[Resuelta]
Hola amigos de la comunidadquisiera saber como hago para que me reconozca variables que tengo en la DB el php
<?
$ident = mysqli_real_escape_string($link, $_GET['curso']);
$perfil = mysqli_query($link, "SELECT * FROM aprende WHERE id='".$ident."'") or die(mysql_error());
if(mysqli_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
$row = mysqli_fetch_array($perfil);
$contenido = $row["contenido"];
$remplazo = str_replace("<?=$ext?>", $ext, $contenido);
echo $remplazo;
}else {
?>
<p>El Curos seleccionado no existe o ha sido eliminado.</p>
<?
}
?>
en la DB tengo una variable que es <?=$ext?>
pero no me la reconoce como puedo hacer que me reconozca esa variable o otra que tenga??
pero solo las que yo quiera??
Salu2 Votos: 0 - Respuestas: 8 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 09-10-2015 08:20:25 podrias ser mas especifico porque no se si traes del select o como es que traes la variable $ext... Votos: 0 - Link respuesta
-
Fecha: 09-10-2015 08:35:14 la variable $ext viene de config.php que trae un valor y esa variable viene para ser remplazada de la DB
quiero que sea remplazada por ese valor que en este caso seria ".html" Votos: 0 - Link respuesta -
Fecha: 09-10-2015 09:51:10 Ojo que tu código es inseguro a morir pero imagino que es para un proyecto escolar.
Checa la diferencia entre utilizar comillas simples(') y dobles(").
En el caso donde quieres remplazar utiliza las comillas simples pues no quieres interpretar el contenido antes de realizar el remplazo.
No creo que sea correcto la manera en que lo quieres hacer, en su lugar almacenaría un tag (estilo [EXT]) que sustituiría con el valor correspondiente al cargar el string. Votos: 2 - Link respuesta -
-
Fecha: 09-10-2015 12:08:45 Edinson, he leido tu explicación y en base a eso puedo conjeturar algunas ideas de lo que quieres hacer, pero como no te estas expresando con propiedad no puedo terminar de comprender bien tu problema... cuando dices "en la DB tengo una variable que es <?=$ext?>" tal vez deberías decir "en la DB tengo almacenado el string <?=$ext?>", ya que para la base de datos "ese dato" no es más que un string, a pesar de que luego tu lo interpretes en PHP como una variable.
Como siempre digo, para obtener buenas respuestas debemos hacer buenas preguntas, lo que implica llamar a las cosas por su nombre para evitar (dentro de lo posible) ambiguedades y malos entendidos.
Lee con atención lo que menciona Ernesto, porque en la línea 07 podrías estar teniendo un comportamiento no esperado ante la mala (o no) utilización de las comillas dobles("), ya que la variable $ext esta siendo interpretada antes de ejecutar el remplace.
No es lo mismo esto:
$remplazo = str_replace("<?=$ext?>", $ext, $contenido);
Que esto:
$remplazo = str_replace('<?=$ext?>', $ext, $contenido);
Trata de ampliar tu explicación para que puedas obtener una buena respuesta, cada día estoy más convencido que en esta comunidad sobra el talento y la buena predisposición para ayudar.
Saludos, Votos: 0 - Link respuesta -
Fecha: 09-10-2015 12:19:22 Hola Fernando si es un string que esta como texto en la DB
Y quiero que ese string sea interpretado por PHP. Votos: 0 - Link respuesta -
Fecha: 09-10-2015 12:39:34 Edinson, tal vez debas ver la función de php parse_str(), aquí el enlace a la documentación oficial:
http://php.net/manual/es/function.parse-str.php
Básicamente la función parse_str() analiza el string que le pasas como parámetro (el cual debe tener una estructura de Query String de URL) y establece variables en el ámbito actual.
Transcribo el ejemplo de la documentación oficial:
<?php $str = "first=value&arr[]=foo+bar&arr[]=baz"; parse_str($str); echo $first; // value echo $arr[0]; // foo bar echo $arr[1]; // baz parse_str($str, $output); echo $output['first']; // value echo $output['arr'][0]; // foo bar echo $output['arr'][1]; // baz ?>
También tienes la función PHP eval(), la cual evalua el string que le pases como código de PHP.
Aquí el link a la documentación oficial: http://php.net/manual/es/function.eval.php
En cualquier caso, debes tener mucho cuidad cuando utilizas estas funciones, porque pueden ser facilmente explotadas por un atacante.
Saludos, Votos: 3 - Link respuesta -
Fecha: 09-10-2015 13:42:15 Gracias Fernando me sirvió fue la función PHP eval() Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
