Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Comillas dentro de un texto, afectan query.

Estas en el tema de Comillas dentro de un texto, afectan query. en el foro de Mysql en Foros del Web. Hola, resulta que me he encontrado el siguiente problema, y es que tengo un formulario, en el cual se introducen varios campos, uno de ellos ...
  #1 (permalink)  
Antiguo 23/03/2010, 05:35
 
Fecha de Ingreso: diciembre-2009
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Comillas dentro de un texto, afectan query.

Hola, resulta que me he encontrado el siguiente problema, y es que tengo un formulario, en el cual se introducen varios campos, uno de ellos un textarea. En ese textarea quiero que se pueda poner cualquier tipo de texto, y entonces viene el problema, ya que si introduces un texto con alguna aclaración con comillas, etc..., se interrumpe la query al asumir que es el fin de expresion. Hay alguna función en php que permita parsear el texto de manera, que lo de dentro de las comillas el mysql no lo interprete como fin de la expresion?.
Un saludo!!!
  #2 (permalink)  
Antiguo 23/03/2010, 06:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Comillas dentro de un texto, afectan query.

Tienes que ponerle un escape a las comillas para poder ingresarlas como tales:
Código MySQL:
Ver original
  1. '\''
  2. '\"'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/03/2010, 06:51
 
Fecha de Ingreso: diciembre-2009
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Comillas dentro de un texto, afectan query.

sSi, si eso lo conozco, de hecho luso para mostrar mediante php codigo html, pero lo que me refiero es a un texto que introduzco mediante un formulario, luego ese texto al introducirlo, si tiene comillas, interfiere con la query.
Por ejemplo un párrafo de texto de un textarea, donde tengo actualmente el problema. Si en el texto se encuentran comillas, ya sean simples o dobles, cuando se le pase el contenido a la sentencia sql, interrumpira la sentencia.
No se si me he explicado bien, si necesitais algo preguntar. He estado probando con la funcion de php mysqli_real_escape_string, pero el resultado es el mismo, no interpreta las comillas como texto ensi, si no parte de la query.
  #4 (permalink)  
Antiguo 23/03/2010, 07:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Comillas dentro de un texto, afectan query.

El tema es que debes, entonces insertar esos escapes en el texto a la hora de crear la sentencia INSERT en la base, porque es allí donde se genera el problema.
Desde otros lenguajes es más sencillo porque simplemente se parametrizan las sentencias y los conectores resuelven el problema.
En tu caso, ¿probaste usar addslashes()?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: comillas, query
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 19:21.