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

Where en una cadena con signo de +

Estas en el tema de Where en una cadena con signo de + en el foro de Mysql en Foros del Web. Hola buen dia, llevo varias horas dandole vueltas a un asunto. Enprimer lugar no se si debe ser posteado en mysql o en el foro ...
  #1 (permalink)  
Antiguo 18/03/2010, 16:49
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Where en una cadena con signo de +

Hola buen dia, llevo varias horas dandole vueltas a un asunto. Enprimer lugar no se si debe ser posteado en mysql o en el foro de php; pues involucra a ambos.

Planteo mi caso:

Tengo una url del tipo:
index.php?hash=hash8v4Y5awyQxZrI8TgwF9+Yusw==


Cuando entro al index consulto en base de datos para verificar que si ya hay un registro con ese hash. La consulta la hago asi:

Código PHP:
$q="SELECT * FROM respuestas WHERE hash='".$_REQUEST['hash']."'"
Cuando imprimo la consulta lo que obtengo es lo siguiente:
SELECT * FROM respuestas WHERE hash='hash8v4Y5awyQxZrI8TgwF9 Yusw=='

Noten que el signo de + fue reempazado por un espacio y por lo tanto no obtengo resultados.

Luego hago lo siguiente:
Código PHP:
$q="SELECT * FROM respuestas WHERE hash='".str_replace(" ","+",$_REQUEST['hash'])."'"
Cuando imprimo la consulta lo que obtengo es lo siguiente:
SELECT * FROM respuestas WHERE hash='hash8v4Y5awyQxZrI8TgwF9+Yusw=='

Ahora el signo de + no desaparece pero sigo sin tener resultados.


Entonces lo que hice fue entrar al phpmyadmin, buscar el registro, editarlo desde ahi mismo y entonces ahora si mi consulta funciona. Pero no puedo estar haciendo esto, porque los hashes en mi base de datos serán enviados por correo electrónico, y un cron job instalado en el server se encargara cada 24 horas de leer el correo e insertarlos en la base de datos.
  #2 (permalink)  
Antiguo 18/03/2010, 19:36
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Where en una cadena con signo de +

jejejeje
tenes razón... no se si el problema es de php o mysql

No quedaría de mas que también postees allí y si recibes respuesta la postees aca.

La solución que te hubiera dado, ya la diste tu mismo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 19/03/2010, 08:35
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Where en una cadena con signo de +

Hola, cierro este post. Solucioné el problema usando addslashes().


Saludos,

Etiquetas: cadenas
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 23:20.