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

Problema con un bucle al leer de una base de datos

Estas en el tema de Problema con un bucle al leer de una base de datos en el foro de Bases de Datos General en Foros del Web. Hola!! Tengo el siguinte bucle: while($row=mysql_fetch_array($result) { if($row['password']==$_POST['clave']) { echo "La contraseña introducida es correcta"; exit(); }else{ echo "La contraseña introducida no es correcta"; } ...
  #1 (permalink)  
Antiguo 13/04/2005, 04:37
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Problema con un bucle al leer de una base de datos

Hola!!

Tengo el siguinte bucle:

while($row=mysql_fetch_array($result)
{
if($row['password']==$_POST['clave'])
{
echo "La contraseña introducida es correcta";
exit();
}else{
echo "La contraseña introducida no es correcta";
}
}

el problema es que si la contraseña introducida está almacenada la ultima en la base de datos, se va a imprimir(suponiendo que tenemos 4 contraseñas) 3 veces lo del segundo echo.Lo que quiero conseguir es que si el puntero del $row llega al final y no ha encontrado ninguna coincidencia,imprima lo del segundo echo pero solo una vez.

Que alguien me ayude porfa please

Gracias
  #2 (permalink)  
Antiguo 13/04/2005, 05:55
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Esto no es un problema de base de datos, sino de pura programación.

Si estás trabajando con una opción de acceso de usuario, que es lo que parece, lo lógico sería hacer la consulta buscando el login y el password de manera conjunta, de tal forma que te debería devolver una fila si todo es correcto o ninguna si el login y/o la password son incorrectos.

De todas formas si quieres mantener lo hecho (personalmente no me gusta acabar nada con exit):
Código PHP:
$error=FALSE;
while(
$row=mysql_fetch_array($result)
{
if(
$row['password']==$_POST['clave'])
{
echo 
"La contraseña introducida es correcta";
exit();
}else{
$error=TRUE;
}
}
if (
$error)  {  echo "La contraseña introducida no es correcta"; } 
__________________
Estoy contagiado de Generación-I
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 09:03.