SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: krusher en Viernes 28 de Enero de 2005, 10:55

Título: Capacidad De Longtext En Mysql
Publicado por: krusher en Viernes 28 de Enero de 2005, 10:55
Tengo q almacenar un texto q seria el de una noticia... paso las variables con POST, me las recoge bien, las imprime en pantalla, pero voy a verlo en la base de datos, y alli no se ha creado ningun nuevo registro. Supongo q es por la longitud del texto. que debo usar? actualmente he puesto un Longtext.
Título: Re: Capacidad De Longtext En Mysql
Publicado por: Blag en Viernes 28 de Enero de 2005, 14:57
No recuerdo bien el nombre....pero creo que se llama BLOB, allí puedes guardar los que quieras  B)

Saludos,

Blag  :devil:
Título: Re: Capacidad De Longtext En Mysql
Publicado por: krusher en Martes 1 de Febrero de 2005, 11:20
Por lo que he visto el problema no lo tengo de si es LongText o Blob, el problema esta cuando hay el carácter  '   dentro de cualquier string. Sólo me pasa con este carácter, pq he probado con !"·$%&/ i los restantes... y estos si q me los almacena. Os habeis encotrado nunca asi? q puedo hacer? obviamente no puedo prescindir de este carácter. Gracias.
Título: Re: Capacidad De Longtext En Mysql
Publicado por: krusher en Martes 1 de Febrero de 2005, 12:17
Otro problema solucionado.... por si a alguien le sirve x)
el truco esta en hacer un replace de la ' por '' con la funcion:
     
     $string=ereg_replace( "'", "''", $string );

para q se vea mas claro en la cadena "This is the way" seria substituir el "is" por "was"

    $string=ereg_replace( "is", "was", $string );

y quedaria de la siguiente forma  "This was the way"


cuando sustituyes ' por '' no es una comilla doble, sino q es una simple repetida. A efectos visuales queda igual, es decir, sale como si solo hubiera una.
Título: Re: Capacidad De Longtext En Mysql
Publicado por: Altareum en Lunes 28 de Febrero de 2005, 17:27
Pues, para agregar....
Hay dos funciones de PHP bastante útiles...

La función htmlspecialchars(), que convierte (sólo) los caracteres &" ' < y >, a su equivalente en HTML,
Citar
como '<' es '<', o ' " ' = '"'.

La función htmlentities(), transforma todos los carateres que tengan un equivalente en HTML,
Citar
como 'á' es á

Aclaración, mientras escribía esto, fui provando para obtener algunas de las equivalencias, y con la función htmlentities(), el caracter ' me lo devolvió tal cual lo escribí, pero estoy seguro de haberlo usado en casa y con un perfecto resultado. Tal vez sea la versión de PHP, pero aconsejo provar para estar seguro.  <_<

PD: Me olvidaba aclarar, que estás funciones, son más que útiles para evitar el famoso SQL INJECTION....

Saludos.
Altareum.