Foros del Web » Programando para Internet » PHP »

no me funciona el escape de comillas

Estas en el tema de no me funciona el escape de comillas en el foro de PHP en Foros del Web. Hola, tengo esta pieza de codigo: Código PHP: $ima1  =  "[\"'imagenes/Imagen'. $user .'1.jpg'\"]" ;  si no estoy errado deberia quedar de la siguiente forma: ["imagenes/Imagencasraidcar1.jpg"] al momento ...
  #1 (permalink)  
Antiguo 07/12/2011, 18:32
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 15 años
Puntos: 0
Pregunta no me funciona el escape de comillas

Hola, tengo esta pieza de codigo:
Código PHP:
$ima1 "[\"'imagenes/Imagen'. $user .'1.jpg'\"]"
si no estoy errado deberia quedar de la siguiente forma:
["imagenes/Imagencasraidcar1.jpg"]

al momento de hacer el update y guardar los cambio en la base de datos:
Código PHP:
mysql_query("UPDATE enventa SET slideshow = '$nuevo' WHERE nombre = '$user'"); 
no se guarda nada... probe si existe algun error en el UPDATE colocando una cadena normal en la variable $ima1 = "Hola" y funciono perfectamente. ¿que podria estar pasando?

Saludos y gracias.
  #2 (permalink)  
Antiguo 07/12/2011, 18:47
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: no me funciona el escape de comillas

el problema es de escape de comillas en tu consulta, tu consulta carece de seguridad, cuando tu consulta encuentra el ' de tu string sencillamente lo toma como cierre del campo por lo que lo demas no lo toma bien ya que no es una consulta correcta, mysql tiene funciones para escapar caracteres como
mysql_rela_escape_string

verifica si colocando esta funcion de esta manera
Código PHP:
Ver original
  1. mysql_query("UPDATE enventa SET slideshow = ' ".mysql_real_escape_string($nuevo)."' WHERE nombre = '$user'");
funciona, ademas en esa consulta que enviaste no estas trabajando la variable que indicas arriba que contiene el string, saludos

p.d: busca información de sql injection y veras el problema que tienes al no escapar los caracteres especiales en tu consulta, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 07/12/2011, 21:49
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 21 años, 4 meses
Puntos: 105
Respuesta: no me funciona el escape de comillas

Holas,

Usa el html_entities y luego recien le pasas el mysql_real_escape_string.

Saludos
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 08/12/2011, 09:20
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 15 años
Puntos: 0
Respuesta: no me funciona el escape de comillas

Hola a ambos! problema solucionado... muchas gracias!

Etiquetas: comillas, escape, mysql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:00.