Foros del Web » Programando para Internet » PHP »

Uso de variables en select

Estas en el tema de Uso de variables en select en el foro de PHP en Foros del Web. Hola amigos! Soy nueva en el foro y nueva en PHP...caos por todos lados! Ayuda! Estoy tratando de trabajar con clases en PHP. Tengo una ...
  #1 (permalink)  
Antiguo 03/01/2015, 19:59
 
Fecha de Ingreso: enero-2015
Mensajes: 1
Antigüedad: 9 años, 3 meses
Puntos: 0
Pregunta Uso de variables en select

Hola amigos!
Soy nueva en el foro y nueva en PHP...caos por todos lados! Ayuda!

Estoy tratando de trabajar con clases en PHP. Tengo una clase Usuario. En mi clase tengo una función muy simple login.

Mi problema viene cuando uso una variable dentro de la query, ejemplo:
$consulta = "SELECT *
FROM Usuarios
WHERE usuario ='$usuario'
AND contrasena ='$password'";

$consulta = "SELECT *
FROM Usuarios
WHERE usuario ='".$usuario."'
AND contrasena ='".$password."'";

1. La conexion funciona porque incluso he podido hacer Insert usando una funcion en la misma clase.
2. Si uso $consulta ="SELECT * FROM Usuarios"; puedo ver todos los datos de la tabla.
3. Las variables $usuario y $password reciben los valores.
4.$consulta = "SELECT *
FROM Usuarios
WHERE usuario ='Mario'
AND contrasena ='Mosca0011'"; la funcion me retorna TRUE si le pongo los valores que estan dentro de la tabla.
5. No me da error de Mysql por que la conexion esta bien y trae un registro cuando esta como en el (4) pero, no trae nada cuando le paso los valores a través de las variables.
5. Me voy a volver loca. :) Ayuda please.
  #2 (permalink)  
Antiguo 03/01/2015, 21:30
Avatar de rocha7778  
Fecha de Ingreso: mayo-2013
Ubicación: Cartagena Colombia
Mensajes: 79
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Uso de variables en select

1. comprueba que el formulario si utilizas uno, si envia los datos.
2. si recibe los datos imprime el string sql, es decir echo $consulta; y verifica que la cadena
sql este bien formada.
3. copia y pega en tu mysql y ejecuta.
4. verifica si te sale algún error
5. si todo ok. entonces ya corregiste.
  #3 (permalink)  
Antiguo 03/01/2015, 23:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 38
Antigüedad: 15 años, 7 meses
Puntos: 2
print_r($_POST);
Ve que te envia :)
Igual pienso que no los estás recuperando bien .
$usuario = $_POST['campousuario'];
  #4 (permalink)  
Antiguo 05/01/2015, 00:18
 
Fecha de Ingreso: julio-2013
Ubicación: Durango, Dgo
Mensajes: 108
Antigüedad: 10 años, 9 meses
Puntos: 8
Respuesta: Uso de variables en select

$consulta = "SELECT *
FROM Usuarios
WHERE usuario ='$usuario'
AND contrasena ='$password.'";

intenta eso amigo haber si te sirve saludos
  #5 (permalink)  
Antiguo 05/01/2015, 05:43
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 6 meses
Puntos: 12
Respuesta: Uso de variables en select

Hola yelyk06, pudiste resolver el inconeveniente.?

Saludos.
__________________
http://www.sp-vision.net
  #6 (permalink)  
Antiguo 05/01/2015, 05:49
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Uso de variables en select

Pero deja que postee el usuario que inicio si quiere postear... en todo caso si estas curioso deberías pedirle su email y contactan, no te parece?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 05/01/2015, 09:55
Avatar de Rodrigoespoz  
Fecha de Ingreso: agosto-2013
Ubicación: Quillota
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Uso de variables en select

y si lo validas mas abajo

Código PHP:
$consulta =mysql_query"SELECT * 
FROM Usuarios 
WHERE usuario ='$usuario')"
;

$row=mysql_fetch_array($consulta);
$USER=$row['usuario'];
$passs=$row['contrasena'];
//y validas
if($passs==$pasword){

}else{
echo 
"La Contraceña no coincide"

  #8 (permalink)  
Antiguo 05/01/2015, 10:31
Avatar de replica  
Fecha de Ingreso: noviembre-2004
Mensajes: 68
Antigüedad: 19 años, 5 meses
Puntos: 2
Respuesta: Uso de variables en select

yely, yo también tenía problemas en la formación de las queries, y al informarme vi que debía utilizar sentencias preparadas.

En las sentencias preparadas preparas una query y le pones unos marcadores (en mysqli son ?, y en PDO las puedes nombrar :usuario :pass)

Y a esos marcadores les enlazas unas variables:
$sentencia->bindParam(:usuario, $usuario);

Cuando las tengas enlazadas, ejecutas la sentencia
$sentencia->execute();

Y luego obtienes los resultados:
$resultado = $sentencia->fetch();

Al principio es un poco lioso, pero al final sales ganando. Yo ya me he acostumbrado y las hago todas así, aunque no haya datos introducidos por el usuario en la query.

Busca un poquito y verás mucha información, además, ayuda a evitar el problema de la inyección sql.
  #9 (permalink)  
Antiguo 05/01/2015, 14:18
 
Fecha de Ingreso: julio-2013
Ubicación: Durango, Dgo
Mensajes: 108
Antigüedad: 10 años, 9 meses
Puntos: 8
Respuesta: Uso de variables en select

espero comentes si se resolvió el problema o si es que te aparece un nuevo problema, saludos :)

Etiquetas: mysql, registro, select, tabla, usuarios, variable, variables
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 00:10.