SoloCodigo
Programación Web y Scripting => PHP => Mensaje iniciado 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.
-
No recuerdo bien el nombre....pero creo que se llama BLOB, allí puedes guardar los que quieras B)
Saludos,
Blag :devil:
-
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.
-
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.
-
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,
como '<' es '<', o ' " ' = '"'.
La función htmlentities(), transforma todos los carateres que tengan un equivalente en HTML,
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.