Foros del Web » Programando para Internet » PHP »

No me funciona esta sentencia y no se porque?

Estas en el tema de No me funciona esta sentencia y no se porque? en el foro de PHP en Foros del Web. Hola a todos, Tengo la siguiente sentencia... $result=mysql_query("select * from clientes where name='".$HTTP_GET_VARS["name"]."' limit 3"); Que se encarga de recoger los datos de la base ...
  #1 (permalink)  
Antiguo 30/06/2007, 12:07
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 3 meses
Puntos: 1
No me funciona esta sentencia y no se porque?

Hola a todos,

Tengo la siguiente sentencia...

$result=mysql_query("select * from clientes where name='".$HTTP_GET_VARS["name"]."' limit 3");

Que se encarga de recoger los datos de la base de datos clientes cuando name es igual a la variable contenida que se recoge a traves de $HTTP_GET_VARS["name"]

No se ya he probado de comprobar si era problema de la variable i no porque esta se muestra al poner

echo ''.$HTTP_GET_VARS["name"];

I tambien e probado de sustituir la sentencia que recoge la variaable de la url i la muestra por un nombre de la base de datos. I funciona igualmente.

$result=mysql_query("select * from clientes where name='Dolores' limit 3");


Un saludo y haber si alguien pudiera decirme en que me equivoco.

Gracias por adelantado.
  #2 (permalink)  
Antiguo 30/06/2007, 12:27
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: No me funciona esta sentencia y no se porque?

Si has probado todo eso lo único que se me ocurre es que en la variable haya algo que provoca que la igualdad no se cumpla, es decir, que tenga un espacio en blanco, una coma, un punto o algún caracter por el que la sentencia da resultado cero.
  #3 (permalink)  
Antiguo 30/06/2007, 12:37
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: No me funciona esta sentencia y no se porque?

La consulta es correcta...
Creo que deberías pegar algo más de código, además del valor exacto de la variable. ¿No será que no te devuelve resultados?


Como comentarios
No uses $HTTP_GET_VARS, mejor usá $_GET. No tiene grandes ventajas, pero la forma "larga" está a un paso de ser eliminada de PHP.

Supongo que estás validando la variable, verdad? no querrás que te hagan algo como

pagina.php?name=';DROP table clientes;

(probá hacer la sustitución a ver qué resulta... )

Por favor no uses "i" en lugar de "y", resulta molesto al leer.


Saludos
  #4 (permalink)  
Antiguo 30/06/2007, 12:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: No me funciona esta sentencia y no se porque?

Yranac, muchas gracias.

Has acertado de pleno era que habia espacios en blanco entre los datos de la variable ya que en la variable aprecian el nombre y los apellidos.

Pero alli me surge otra pregutna no hay manera de que interprete la variable si esta tiene espacios?

Ej variable: Dolores Perez Perez

Por cierto Alvlin muchas gracias... cambiare tambien el $_GET.

Un saludo y gracias a todos.
  #5 (permalink)  
Antiguo 30/06/2007, 13:33
Avatar de marioraja  
Fecha de Ingreso: abril-2007
Mensajes: 66
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: No me funciona esta sentencia y no se porque?

El problema está en las comillas. No hay necesidad de, al concatenar una variable, encerrarla en comillas. Quítalas y funcionará. También te recomiendo que utilices la variable $_POST[].

Saludos amigo.
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 22:42.