Estou com um problema que realmente não estou intendendo.. ja aconteceu isso antes mas agora não consigo resolver..
Especificação
Estou rodando local ( PHP5 - Apache 2 - MySQL5 )
Descrição
Preciso confirmar se uma instrução SQL retornou 0 registros ou > 0 registros
Problema
Quando é retornado mais de 0 registros o Código funciona normal.
Quando não é encontrado nenhum registro, da instrução que teria que mostrar até o final do código não aparece nada, fica em branco e não mostra erro.
$confirmacao = mysql_query("SELECT * FROM usuario WHERE DscEmail = '$login' AND DscSenha ='$senha'", $db); $contagem = mysql_num_rows($confirmacao) or die(mysql_error()); $atributo = mysql_fetch_array($confirmacao)or die(mysql_error()); if($contagem == 1){ echo 'Login confirmado'; }else{ echo 'Erro Login'; }
Neste caso se $contagem == 1 irá mostrar Login confirmado
Mas se $contagem != 1 ele não mostra nada
* Fiz um teste para mostrar o valor de $contagem
Quando não foi encontrado nenhum registro
$contagem = ;
Quando foi encontrado o registro
$contagem = 1;
Agora se eu mudar para :
if($contagem != 1){ echo 'Login confirmado'; }else{ echo 'Erro Login'; }
Se existir um registro, ele vai entrar dentro do else.
E mostra Erro Login
Quer dizer que a lógica esta tendo, mas não esta mostrando quando não for encontrado um registro. Isso esta acontecendo em outro Código para retornar todos os usuários em uma busca.
Alguem poderia me ajudar???
=====================================
Acrescentando...
Testei true e false - mesma coisa...
quando encontra ele mostra Login confirmado
Ai eu peço para ver o Código fonte, e só tem
Login confirmado
Agora quando nao encontra registro, o Código fonte é o seguinte
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD> <BODY></BODY></HTML>
Edição feita por: carneiro, 14/02/2006, 20:54.