Foros del Web » Programando para Internet » PHP »

Guardar texto en bbdd respetando saltos de línea.

Estas en el tema de Guardar texto en bbdd respetando saltos de línea. en el foro de PHP en Foros del Web. Hola, Me gustaría saber como guardar en mi base de datos en un campo que he declarado de tipo 'text', un texto en el que ...
  #1 (permalink)  
Antiguo 19/11/2012, 06:39
 
Fecha de Ingreso: mayo-2012
Ubicación: Valencia
Mensajes: 67
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Guardar texto en bbdd respetando saltos de línea.

Hola,

Me gustaría saber como guardar en mi base de datos en un campo que he declarado de tipo 'text', un texto en el que hay saltos de línea y lo que uno pueda poner.

Almaceno en una variable, el texto que escribe alguien, lo guardo en la BBDD. Pero luego al visualizarlo, todo sale en una línea.

¿Como puedo guardar esto y luego que se muestre como el original?

Gracias!
  #2 (permalink)  
Antiguo 19/11/2012, 07:17
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: Guardar texto en bbdd respetando saltos de línea.

http://www.forosdelweb.com/f21/guard...-linea-756231/
  #3 (permalink)  
Antiguo 19/11/2012, 07:20
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, 4 meses
Puntos: 2658
Respuesta: Guardar texto en bbdd respetando saltos de línea.

Tu problema en realidad tiene más relacion con la programación que con la base de dato en sí. El problema se produce porque al ser enviados los datos, el SQL no puede interpretar los saltos de línea, si es que estos le llegan. El caracter que lo indica es "invisible" para el SQL, por lo que se debe realizar una conversión a nivel de código de programación al cargar la variable: Hay que escapar todos los caracteres de ese tipo y otros, como las barras invertidas, los apóstrofes, etc.
Normalmente, todo lenguaje de computación tiene funciones para hacer esta tarea, sea C#.net, vb.net, PHP o cualquier otro. Lo que debes hacer es utilizar esa función a la hora de cargar la cadena de texto, previo a crear la sentencia.
SI usas PHP, la función es mysql_real_escape_string() en la librería MYSQL y mysqli::real_escape_string() en la MYSQLI.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 19/11/2012, 08:48
 
Fecha de Ingreso: mayo-2012
Ubicación: Valencia
Mensajes: 67
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Guardar texto en bbdd respetando saltos de línea.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tu problema en realidad tiene más relacion con la programación que con la base de dato en sí. El problema se produce porque al ser enviados los datos, el SQL no puede interpretar los saltos de línea, si es que estos le llegan. El caracter que lo indica es "invisible" para el SQL, por lo que se debe realizar una conversión a nivel de código de programación al cargar la variable: Hay que escapar todos los caracteres de ese tipo y otros, como las barras invertidas, los apóstrofes, etc.
Normalmente, todo lenguaje de computación tiene funciones para hacer esta tarea, sea C#.net, vb.net, PHP o cualquier otro. Lo que debes hacer es utilizar esa función a la hora de cargar la cadena de texto, previo a crear la sentencia.
SI usas PHP, la función es mysql_real_escape_string() en la librería MYSQL y mysqli::real_escape_string() en la MYSQLI.
Sí, estoy trabajando en PHP.
Gracias por tu respuesta, me podrías poner un ejemplo de cómo ejecutar un INSERT INTO respetando los saltos con esa función?

De momento lo voy intentando, Gracias!
  #5 (permalink)  
Antiguo 19/11/2012, 08:56
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, 4 meses
Puntos: 2658
Respuesta: Guardar texto en bbdd respetando saltos de línea.

te paso el post al foro de PHP. Los temas de programación no se tratan en los foros de BBDD.

Por otro lado, si quieres ejemplos, siempre puedes mirar el manual de PHP:

1) mysql_real_escape_string()
2) mysqli::real_escape_string

Eso es lo que hace primero todo desarrollador: Leer los manuales. Para esas dudas existen.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 19/11/2012, 09:32
 
Fecha de Ingreso: mayo-2012
Ubicación: Valencia
Mensajes: 67
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Guardar texto en bbdd respetando saltos de línea.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
te paso el post al foro de PHP. Los temas de programación no se tratan en los foros de BBDD.

Por otro lado, si quieres ejemplos, siempre puedes mirar el manual de PHP:

1) [URL="http://php.net/manual/es/function.mysql-real-escape-string.php"]mysql_real_escape_string()[/URL]
2)[URL="http://www.php.net/manual/es/mysqli.real-escape-string.php"] mysqli::real_escape_string[/URL]

Eso es lo que hace primero todo desarrollador: Leer los manuales. Para esas dudas existen.
Muchas gracias!

esta función para guardar los datos, junto a esta otra

Código:
nl2br(htmlentities($texto))
para imprimirlos en pantalla, he conseguido lo que necesitaba.

Gracias.

Etiquetas: almacenar-texto, mysql, bases-de-datos
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 20:46.