seplucas 0 Denunciar post Postado Janeiro 30, 2013 Olá pessoal, Estou tendo um problema para tratar um SELECT vazio em php. Esse SELECT está montado da seguinte maneira: $senha = mysql_query("SELECT senha FROM users WHERE senha='$senha2'") Feito isso, para ter o resultado da consulta: if(!empty($senha)){ $senha_banco = mysql_result($senha,0,senha); } Explicando o ambiente: $senha2 é um campo do formulário inserido pelo usuario O problema é que quando a senha do formulário($senha2) é diferente da senha do banco apresenta o seguinte erro: Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 Não foi possível localizar nenhuma linha no SELECT, porém como faço para tratar esse select vazio? O meu if usando o !empty está passando mesmo quando o SELECT não tem resultado, creio que a consulta vem com alguma "sujeira". Teria um outro jeito de filtrar no if para não passar caso o SELECT venha vazio? Compartilhar este post Link para o post Compartilhar em outros sites
Wingdings 20 Denunciar post Postado Janeiro 30, 2013 Tente utilizar o mysql_num_rows Essa função retorna para você quantos registros foram selecionados. No caso, você faz uma comparação, se selecionou 0 -> senha incorreta se selecionou 1 -> login efetuado com sucesso. http://php.net/manual/pt_BR/function.mysql-num-rows.php Compartilhar este post Link para o post Compartilhar em outros sites
seplucas 0 Denunciar post Postado Janeiro 30, 2013 Tente utilizar o mysql_num_rows Essa função retorna para você quantos registros foram selecionados. No caso, você faz uma comparação, se selecionou 0 -> senha incorreta se selecionou 1 -> login efetuado com sucesso. http://php.net/manual/pt_BR/function.mysql-num-rows.php Wingdings, obrigado. Deu certo. Para quem precisar futuramente, fiz desse jeito: $num_rows_senha = mysql_num_rows($senha); if($num_rows_senha > 0){ $senha_banco= mysql_result($senha,0,senha); } Compartilhar este post Link para o post Compartilhar em outros sites