Foros del Web » Programando para Internet » PHP »

Duda sobre MySQL y PHP

Estas en el tema de Duda sobre MySQL y PHP en el foro de PHP en Foros del Web. Hola k tal, vereis esta es mi prengunta. Estoy insetando unos campos de texto en mi BD MySQL mediante php, asi que cuando inserto llamo ...
  #1 (permalink)  
Antiguo 15/04/2006, 08:33
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 10 meses
Puntos: 1
Exclamación Duda sobre MySQL y PHP

Hola k tal, vereis esta es mi prengunta.
Estoy insetando unos campos de texto en mi BD MySQL mediante php, asi que cuando inserto llamo a la funcion msql_real_escape_string para escapar los caracteres especiales para su uso en la sentencia SQL.
El problema viene aqui:
por ejemplo quiero meter esta cadena: "hola ` acento para un lado y ´para el otro lado", bien pues sobre este string aplico msql_real_escape_string y me parece que lo inserta bien, ya que luego voy a la BD y miro en el campo y me sale la cadena con ambos acentos puestos tal y como esta en la cadena de arriba. El problema es que al hacer una consulta sobre la BD me retorna una cadena tipo asi: "hola `acento para un lado y ? para el otro lado". Y lo que yo quiero es que me imprima la cadena correctamente.
Alguno tiene idea de que funcion debo utilizar o como deveria ser para que funcionara bien?
Gracias, espero que haya quedado claro
__________________
SaRvErOk :ojotes:
  #2 (permalink)  
Antiguo 15/04/2006, 13:00
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 10 meses
Puntos: 1
De acuerdo Resuelto

Ya lo he resuelto he creado las siguientes funciones en php:

Código PHP:
function FixTextFields($text) {
    
$text SafeStripSlashes($text);
    
$text htmlentities($textENT_QUOTES);
    return 
$text;
}

function 
SafeStripSlashes($text) {
    if (
get_magic_quotes_gpc()) {
        return 
stripslashes($text);
    }
    return 
$text;

Y con esto llamo a mi cadena de texto asi:
FixTextFields(SafeStripSlashes($cadena));

Bien pues asunto resuelto, espero que le sirva para alguien más.
__________________
SaRvErOk :ojotes:
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 14:05.