Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con else, ¿alguien tiene alguna explicación?

Estas en el tema de Problema con else, ¿alguien tiene alguna explicación? en el foro de PHP en Foros del Web. Buenas tardes, Tengo un formulario que hace un insert a una bd, ese insert quiero que se haga en caso de que uno de los ...
  #1 (permalink)  
Antiguo 18/11/2015, 11:00
Avatar de Morod0  
Fecha de Ingreso: julio-2015
Ubicación: Valencia
Mensajes: 63
Antigüedad: 8 años, 9 meses
Puntos: 1
Problema con else, ¿alguien tiene alguna explicación?

Buenas tardes,

Tengo un formulario que hace un insert a una bd, ese insert quiero que se haga en caso de que uno de los datos que pido ($nuevoUsuario) no exista ya en la bd, basicamente es un registro de usuario y pass, y no quiero que el usuario se repita.

Ahora bien, lo que hago es lo siguiente:

-Hago la busqueda en la bd y lo guardo en una variable

Código PHP:
$nuevoUsuario $_POST["usuarioIntroducido"];     
$nuevoPassword $_POST["PasswordIntroducido"]; 

$sentenciaSQLusuario "SELECT user FROM password WHERE user = '$nuevoUsuario' " ;    

$memoriaUsuario $mysqli->query($sentenciaSQLusuario) ; 
-Procedo a hacer la comprobacion
Código PHP:
while($listaUsers $memoriaUsuario->fetch_array()){                    
    
$usu $listaUsers['user'];

    if(
$usu == $nuevoUsuario){echo "Este usuario ya existe en la base de datos" ;}else{echo "no existe";}
                    
            } 
Si introduzo un usuario que ya existe en la base de datos, perfecto, me salta el echo como que ya existe, pero sino no me salta nada, y no lo entiendo, o es una cosa o es otra.

Por que puede ser? Gracias de antemano cracks!
  #2 (permalink)  
Antiguo 18/11/2015, 11:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con else, ¿alguien tiene alguna explicación?

Cita:
Si introduzo un usuario que ya existe en la base de datos, perfecto, me salta el echo como que ya existe, pero sino no me salta nada, y no lo entiendo, o es una cosa o es otra.
¿Te has puesto a pensar que si la consulta no encuentra nada en la base de datos sencillamente no tendrás resultados?

Cuando buscas un usuario que ya existe es más que obvio: existe, y por ende hay resultados.

Pero si buscas algo que no existe ¿qué quieres que te devuelva la consulta?

No hay coincidencias, por ende, no hay while(), etc.

Lo lógico es que no dependas del resultado sino de la mera consulta, si la consulta obtiene resultados ya está confirmado que el usuario existe: no hace falta el while() ni el if/else dentro.

Usa tu sentido común.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/11/2015, 06:08
Avatar de Morod0  
Fecha de Ingreso: julio-2015
Ubicación: Valencia
Mensajes: 63
Antigüedad: 8 años, 9 meses
Puntos: 1
Respuesta: Problema con else, ¿alguien tiene alguna explicación?

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Te has puesto a pensar que si la consulta no encuentra nada en la base de datos sencillamente no tendrás resultados?

Cuando buscas un usuario que ya existe es más que obvio: existe, y por ende hay resultados.

Pero si buscas algo que no existe ¿qué quieres que te devuelva la consulta?

No hay coincidencias, por ende, no hay while(), etc.

Lo lógico es que no dependas del resultado sino de la mera consulta, si la consulta obtiene resultados ya está confirmado que el usuario existe: no hace falta el while() ni el if/else dentro.

Usa tu sentido común.
Tienes toda la razón, eso si, menuda bronca me has echado xD.

No es cuestión de sentido común, es de desconocimiento e inexperiencia, cómo es lógico cuando sabes poco se te escapan cosas tan simples como esta.

Muchas gracias por la ayuda y por la explicación, un saludo.

Etiquetas: alguna, formulario, mysql, registro, select, sql, variable
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 06:20.