Foros del Web » Programando para Internet » PHP »

:: Problemas con Query ::

Estas en el tema de :: Problemas con Query :: en el foro de PHP en Foros del Web. Hola amigos del foro, como siempre un gusto poder saludarlos. Mi consulta es la siguiente: Cuando hago una consulta de la siguiente manera: SELECT * ...
  #1 (permalink)  
Antiguo 13/03/2006, 12:43
Avatar de oecarlitos  
Fecha de Ingreso: enero-2005
Mensajes: 152
Antigüedad: 12 años, 11 meses
Puntos: 0
:: Problemas con Query ::

Hola amigos del foro, como siempre un gusto poder saludarlos.

Mi consulta es la siguiente:

Cuando hago una consulta de la siguiente manera:

SELECT * FROM uni_regal WHERE id = $user
y mi llamamada al script es: verdatos.php?user=1

Me funciona correctamente:
---------------------------------------------------------------


Pero cuando lo hago de la siguiente manera:
(claro esta que el campo id,user,pass, etc.. estan en la mista tabla)

SELECT * FROM uni_regal WHERE user = $user
y mi llamada al script es: verdatos.php?user=pepito

Me bota un error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...

Quisiera saber si se utiliza la misma secuencia para jalar datos con un identificador numerico, y un identificador de texto.

Espero halla sido claro en mi ejemplo, por favor amigos, le estaré muy agradecidos.

Como podria sacar datos de una tabla, unicamente con el identificador user y que este resuelva una cadena de texto, y de acuerdo a ello ,e bote los demas datos.

gracias amigos
  #2 (permalink)  
Antiguo 13/03/2006, 12:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Pues ese error ocurre cuando se ejecuto mal el query o bien no obtuviste ningun resultado de tu query. ¿Como es que estas declarando el valor de user?

Respecto a la busqueda te sugiero que busques asi el nombre
mysql_query("SELECT * FROM uni_regal WHERE user= '". $user."');
  #3 (permalink)  
Antiguo 13/03/2006, 12:54
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
Exclamación

Código PHP:
"SELECT * FROM uni_regal WHERE user = '$user' "
de esta forma amigo.
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #4 (permalink)  
Antiguo 13/03/2006, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y si ese dato llega por el URL .. mejor usa los arrays superglobales: $_GET en tu caso:

Código PHP:
<?
mysql_query
("SELECT * FROM uni_regal WHERE user= '"mysql_real_escape_string($_GET['user'])."') or die (mysql_error());
Como veras, tampoco está de más usar mysql_real_escape_string() para evitar problemas con ciertos caracteres que podrían ocasionar algún problema de seguridad. Y por otro lado usar mysql_error() por si tienes problemas en la ejecución de esa sentencia SQL (a nivel SQL sintax o conexión).

Un saludo,
  #5 (permalink)  
Antiguo 13/03/2006, 13:39
Avatar de oecarlitos  
Fecha de Ingreso: enero-2005
Mensajes: 152
Antigüedad: 12 años, 11 meses
Puntos: 0
si pero ahora es otro...

Execelente, ahora ya no me bota los resultados.

Es raro, pero solo me resuelve el primer registro de mi tabla, cuando utilizo la secuencia:

Estoy utilizando la secuenta:
Código PHP:
$sql mysql_query("SELECT * FROM uni_regal WHERE user = '".($_GET['user'])."'"); 
y Mi llamada: verdatos.php?user=pepito

Unicamente me resuelve los datos, del primer registro de mi tabla.

No se porque sucede esto, solo me resulve el primer registro de mi tabla, no sucede como cuando quiero la peticion con mi ID.

Como puedo hacer. gracias amigos por el apoyo
  #6 (permalink)  
Antiguo 13/03/2006, 13:43
Avatar de oecarlitos  
Fecha de Ingreso: enero-2005
Mensajes: 152
Antigüedad: 12 años, 11 meses
Puntos: 0
mas datos

Mi Tabla: uni_regal

ID ---- user ------- pass ------- etc
1 ----- pepito ------ 12345 -----
2 ----- juanito ------ 3242 ------
3 ----- maria -------- 2134 ------

Es decir cuando pongo: verdatos.php?user=pepito

Me resuelve todos los datos de este:
id: 1
nombre: pepito
pass: 12345

Pero cuando pongo: verdatos.php?user=juanito

No me resulve nada, a que se debe esto amigos, quisiera saber porque sucede esto.

gracias
  #7 (permalink)  
Antiguo 13/03/2006, 14:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa bien que "juanito" esté escrito así .. tal cual (en minusculas) .. también podría ser que al ingresar el dato de "juanito" le pusistes algun espacio antes o despues o salto de línea.

Lo mejor en esos casos y para salir de dudas es usar:

trim($_GET['user'])

así con trim() eliminas todo posible espacio y salto de línea antes o despues de la cadena dada. Este proceso deberías hacerlo cuando ingresas tus datos a tu BBDD así te aseguras que entren "limpios" y luego para evitar problemas con lo que el usuario pueda ingresar (aunque sea por el URL) mejor usar trim().

Un saludo,
  #8 (permalink)  
Antiguo 13/03/2006, 14:18
Avatar de oecarlitos  
Fecha de Ingreso: enero-2005
Mensajes: 152
Antigüedad: 12 años, 11 meses
Puntos: 0
De acuerdo gracias

Si gracias ya entedí por que sucedia el error, es que estaba jalando como usuario al nombre completo de la persona y no, al nombre del usuario, gracias brother por la ayuda.

saludos
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 16:12.